IO性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到IO。而IO性能的发展,明显落后于CPU的发展。Memchached也好,NoSql也好,这些流行技术的背后都在直接或者间接地回避IO瓶颈,从而提高系统性能。
IO系统的分层:
-
三层结构
上图层次比较多,但总的就是三部分。磁盘(存储)、VM(卷管理)和文件系统。专有名词不好理解,打个比方说:磁盘就相当于一块待用的空地;LVM相当于空地上的围墙(把空地划分成多个部分);文件系统则相当于每块空地上建的楼房(决定了有多少房间、房屋编号如何,能容纳多少人住);而房子里面住的人,则相当于系统里面存的数据。
对应了上图的File
System和Buffer Cache。
File
System(文件系统):解决了空间管理的问题,即:数据如何存放、读取。
Buffer
Cache:解决数据缓冲的问题。对读,进行cache,即:缓存经常要用到的数据;对写,进行buffer,缓冲一定数据以后,一次性进行写入。
对应上图的Vol Mgmt。
VM其实跟IO没有必然联系。他是处于文件系统和磁盘(存储)中间的一层。VM屏蔽了底层磁盘对上层文件系统的影响。当没有VM的时候,文件系统直接使用存储上的地址空间,因此文件系统直接受限于物理硬盘,这时如果发生磁盘空间不足的情况,对应用而言将是一场噩梦,不得不新增硬盘,然后重新进行数据复制。而VM则可以实现动态扩展,而对文件系统没有影响。另外,VM也可以把多个磁盘合并成一个磁盘,对文件系统呈现统一的地址空间,这个特性的杀伤力不言而喻。
对应上图的Device Driver、IO Channel和Disk Device
数据最终会放在这里,因此,效率、数据安全、容灾是这里需要考虑的问题。而提高存储的性能,则可以直接提高物理IO的性能
2. Logical IO vs Physical IO
逻辑IO是操作系统发起的IO,这个数据可能会放在磁盘上,也可能会放在内存(文件系统的Cache)里。
物理IO是设备驱动发起的IO,这个数据最终会落在磁盘上。
逻辑IO和物理IO不是一一对应的。
分享到:
相关推荐
《嵌入式系统及应用UCOS-Chapter8-IO管理》是关于嵌入式系统中I/O管理的讲解,主要用于教学参考。I/O管理在任何操作系统中都是至关重要的,因为它负责处理系统与外部设备间的数据交换。在嵌入式系统中,由于资源有限...
【containerd.io-1.3.7-3.1.el7.x86_64.rpm】是一个针对RHEL(Red Hat Enterprise Linux)7系统的Docker容器运行时组件containerd的软件包。containerd是由Docker公司开发并维护的一个轻量级、可插拔的容器运行时...
**开源项目-dgraph-io-badger.zip** Badger是由Dgraph公司开发的一个高效、快速的键值存储系统,它完全用Go语言编写。作为一个开源项目,Badger为开发者提供了轻量级、高性能的存储解决方案,尤其适合那些需要处理...
内容概要:IO的分层;IO模型;IO性能的重要指标;文件系统;逻辑卷管理;Driver & IO Channel;RAID;三分天下 适用人群:Java开发人员 使用场景:想学习JavaIO以及在IO开发中遇到瓶颈 目标:通过本教程的讨论与解析...
RapidIO采用分层结构设计,其中逻辑层定义了整个数据传输机制,包括数据包的类型、如何发送和接收数据包等。 RapidIO V3.0的逻辑规范支持多种包类型,如数据包、管理包、控制包等。每种包类型都有不同的头部格式和...
2. **分层结构**:RapidIO协议分为物理层、数据链路层、传输层和应用层,这种层次化的结构使得协议具有良好的扩展性和可移植性。 3. **多通道支持**:通过多个并行的数据通道,RapidIO可以实现高带宽传输,满足高...
王豪迈,作为一个独立的开源软件开发者,分享了他对 Ceph IO 路径和性能分析的深入见解。Ceph 的 IO 路径设计复杂而丰富,涉及从上层 API 接口到下层存储的每一个层面。 Ceph 的 IO 路径从上到下主要分为几个层次,...
RapidIO是一种高性能、低延迟的串行互连技术,主要用于芯片间或板间通信,特别是在高性能计算、网络设备、通信系统以及嵌入式系统等领域广泛应用。Altera公司的RapidIO IP核是为FPGA/CPLD设计提供的一种关键组件,能...
描述中提到的“Core IO优化企业IT基础架构”是一场讲座的主题,这场讲座旨在分享如何通过优化核心输入/输出(IO)系统来提升企业信息技术基础设施的性能和效率。讲座可能涵盖了在2008年背景下,微软针对企业级IT环境...
T-IO自诞生以来,已经经历了多个版本的迭代,文档中提到了T-IO的早期历史和版本变迁,包括T-IO被码云评为最有价值的开源项目、在2017年成为最受欢迎的开源软件之一,并列在热门开源项目中Star数第三、Fork数第五的...