热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

raid读写速度对比_一种高速的文件读写机制的设想

最近在自己开发文件系统,不知不觉,一个奇妙的想法一闪而过,关于文件的读写。设想:把单个文件储存在多个磁盘上,由于cpu速度比

最近在自己开发文件系统,不知不觉,一个奇妙的想法一闪而过,关于文件的读写。

设想:把单个文件储存在多个磁盘上,由于cpu速度比磁盘速度快,那么可以在一块磁盘上读写的时候,cpu进行另外一个磁盘上读写。那么这样一来,整个文件的读写时间就大大缩短了。有点像cpu的流水线技术!

我们知道,现在的单个文件都是储存在一个磁盘上的,也就是说整个文件都是在一个磁盘上,例如windows的c盘有一个文件test.txt,它文件数据就是在这个磁盘上的。对于单个磁盘的操作,它是线性的,只有完成前面的数据读写,才能继续后面数据的读写。

假设我们有2块磁盘,分别是sda, sdb吧。现在有一个test.txt文件在sda上面,假设,它的大小是1MB,假设磁盘读写速度是1MB/S,那么读取这个文件需要花费1秒的时间。

那么,如果此时把文件的数据分别储存到2个磁盘上,当从一个磁盘sda读取数据的时候,我们切换到另一个磁盘sdb,再读取数据。相当于把文件分成2半,当前半部分在sda中读写的时候,cpu再到sdb中进行读写。如果忽略cpu的运行,绝对得来看,对于1MB的文件,我们是不是在0.5S就读写完成了呢?当然这个只是绝对得来看。但是这种设想,也不是不可取。

如果我们把cpu的时间加上,浪费0.1秒,那么现在就0.6s来读写这个文件,速度照样可以提升40%。这是什么概念?对于小文件来说,这倒无所谓,可是对于大文件来说,这个设想就十分有利。如果一个1G的文件需要花费10s来完成读写,如果作用这个机制,时间就是6s。对于数据库文件的读写,可以大大缩短整个响应时间。

不过。这种方式最大的弊端就是,把文件分别储存到了多个磁盘上,如果一个磁盘受损,那么这个文件就废了。

如果是"同时"操作4块磁盘的话?如果每个磁盘可以提高一半的速度,那么,4块磁盘的就只需要0.625s时间!!!震惊!

不过,这些都是理想状态下的。还有许多都被忽略了。为什么还是要提出来呢?因为从这个数据读写速度的角度来说,是非常乐观的。

如果这个理论运用于实际中去,再结合多处理器,那么,在未来,对于文件的读写在以后速度将成倍提高!

原本打算进一步研究,写成一篇论文的,由于自己太懒了,就没去做。

我是操作系统BookOS的开发者,我们的官网是http://www.book-os.org,欢迎各位操作系统开发爱好者来玩(不忘为自己打广告,哈哈)。



推荐阅读
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • Windows 系统下 MySQL 8.0.11 的安装与配置
    本文详细介绍了在 Windows 操作系统中安装和配置 MySQL 8.0.11 的步骤,包括环境准备、安装过程以及后续配置,帮助用户顺利完成数据库的部署。 ... [详细]
  • 理解存储器的层次结构有助于程序员优化程序性能,通过合理安排数据在不同层级的存储位置,提升CPU的数据访问速度。本文详细探讨了静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)的工作原理及其应用场景,并介绍了存储器模块中的数据存取过程及局部性原理。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
author-avatar
mobiledu2502925687
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有