![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
磁盘IO
文章平均质量分 93
xiaofei0859
这个作者很懒,什么都没留下…
展开
-
磁盘IO:缓存IO、直接IO、内存映射
磁盘IO的几种访问方式如下:缓存IO 缓存I/O又被称作标准I/O,大多数文件系统的默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,数据先从磁盘复制到内核空间的缓冲区,然后从内核空间缓冲区复制到应用程序的地址空间。 读操作:操作系统检查内核的缓冲区有没有需要的数据,如果已经缓存了,那么就直接从缓存中返回;否则从磁盘中读取,然转载 2016-04-13 22:47:21 · 774 阅读 · 0 评论 -
FastDFS :提升磁盘IO性能的几个技巧
目前磁盘都是机械方式运作的,主要体现在磁盘读写前寻找磁道的过程。磁盘自带的读写缓存大小,对于磁盘读写速度至关重要。读写速度快的磁盘,通常都带有较大的读写缓存。磁盘的寻道过程是机械方式,决定了其随机读写速度将明显低于顺序读写。在我们做系统设计和实现时,需要考虑到磁盘的这一特性。FastDFS最初的实现,文件是按hash方式随机分布到多个目录中的,后来增加了顺序存放的做法。通过对比测试,发现文件按目录转载 2015-11-11 17:16:06 · 4091 阅读 · 0 评论 -
如何让linux服务器磁盘io性能翻倍
这一期我们来看一下有哪些办法可以减少linux下的文件碎片。主要是针对磁盘长期满负荷运转的使用场景(例如http代理服务器);另外有一个小技巧,针对互联网图片服务器,可以将io性能提升数倍。如果为服务器订制一个专用文件系统,可以完全解决文件碎片的问题,将磁盘io的性能发挥至极限。对于我们的代理服务器,相当于把io性能提升到3-5倍。在现有文件系统下进行优化linux内核和各个文件系转载 2016-04-18 09:53:16 · 7502 阅读 · 0 评论 -
IO系统性能之一:衡量性能的几个指标
1几个基本的概念 作为一个数据库管理员,关注系统的性能是日常最重要的工作之一,而在所关注的各方面的性能只能IO性能却是最令人头痛的一块,面对着各种生涩的参数和令人眼花缭乱的新奇的术语,再加上存储厂商的忽悠,总是让我们有种云里雾里的感觉。本系列文章试图从基本概念开始对磁盘存储相关的各种概念进行综合归纳,让大家能够对IO性能相关的基本概念,IO性能的监控和调整有个比较全面的了解。转载 2016-04-18 09:59:53 · 726 阅读 · 0 评论 -
iostat和iowait详细解说--查看磁盘瓶颈
iostat和iowait详细解说%iowait并不能反应磁盘瓶颈iowait实际测量的是cpu时间:%iowait = (cpu idle time)/(all cpu time)这个文章说明:高速cpu会造成很高的iowait值,但这并不代表磁盘是系统的瓶颈。唯一能说明磁盘是系统瓶颈的方法,就是很高的read/write时间,一般来说超过20ms,就代表转载 2016-10-25 15:58:53 · 24985 阅读 · 1 评论 -
理解 %IOWAIT (%WIO)
%iowait 是 “sar -u” 等工具检查CPU使用率时显示的一个指标,在Linux上显示为 %iowait,在有的Unix版本上显示为 %wio,含义都是一样的,这个指标常常被误读,很多人把它当作I/O问题的征兆,我自己每隔一段时间就会遇到对 %iowait 紧张兮兮的客户,不得不费尽唇舌反复解释,事实上这个指标所含的信息量非常少,不能单独用来判断系统有没有I/O问题,在此我们详细探讨一下转载 2016-10-25 17:16:45 · 2512 阅读 · 0 评论 -
linux中inode的工作原理
当划分磁盘分区并格式化的时候,整个分区会被划分为两个部分,即inode区和data block(实际数据放置在数据区域中)这个inode即是(目录、档案)文件在一个文件系统中的唯一标识,需要访问这个文件的时候必须先找到并读取这个文件的 inode。 Inode 里面存储了文件的很多重要参数,其中唯一标识称作 Inumber, 其他信息还有创建时间(ctime)、修改时间(mtime) 、文件大小、转载 2017-05-05 18:33:03 · 2550 阅读 · 0 评论 -
Linux Page Cache的工作原理
1 、前言 自从诞生以来,Linux 就被不断完善和普及,目前它已经成为主流通用操作系统之一,使用得非常广泛,它与Windows 、UNIX 一起占据了操作系统领域几乎所有的市场份额。特别是在高性能计算领域,Linux 已经成为一个占主导地位的操作系统,在2005年6月全球TOP500 计算机中,有 301 台部署的是 Linux 操作系统。因此,研究和使用 Linux 已经成为开发转载 2017-07-14 14:42:38 · 6559 阅读 · 0 评论 -
read/fread write/fwrite 的实现原理
fread就是通过read来实现的,fread是C语言的库,而read是系统调用。差别在read每次读的数据是调用者要求的大小,比如调用者要求读取10个字节数据,read就会从内核缓冲区(操作系统开辟的一段空间用来存储磁盘上的数据)读10个字节数据到数组中,所以每次调用read会涉及到用户态与內核态之间的切换从而损耗一定的性能。而fread不一样,为了加快读的速度,fread每次都会从内核缓冲转载 2017-07-07 14:24:41 · 3754 阅读 · 0 评论 -
文件IO - O_DIRECT和O_SYNC
一,O_DIRECT,绕过缓冲区高速缓存,直接IO直接IO:Linux允许应用程序在执行磁盘IO时绕过缓冲区高速缓存,从用户空间直接将数据传递到文件或磁盘设备,称为直接IO(direct IO)或者裸IO(raw IO)。应用场景:数据库系统,其高速缓存和IO优化机制均自成一体,无需内核消耗CPU时间和内存去完成相同的任务。使用直接IO的弊端:可能会大大降低性能,内核对转载 2017-07-07 16:28:02 · 1228 阅读 · 0 评论 -
磁盘缓存
磁盘缓存,又称磁盘快取,实际上就是将下载到的数据先保存于系统为软件分配的内存空间中(这个内存空间被称之为“内存池”),当保存到内存池中的数据达到一个程度时,便将数据保存到硬盘中。这样可以减少实际的磁盘操作,有效的保护磁盘免于重复的读写操作而导致的损坏。磁盘缓存是为了减少CPU透过I/O读取磁盘机的次数,提升磁盘I/O的效率,用一块内存来储存存取较频繁的磁盘内容;因为内存的存取是电子动作,而磁盘转载 2016-04-13 22:50:08 · 576 阅读 · 0 评论 -
《Linux内核设计与实现》读书笔记(十四)- 块I/O层
主要内容:块设备简介内核访问块设备的方法内核I/O调度程序 1. 块设备简介I/O设备主要有2类:字符设备:只能顺序读写设备中的内容,比如 串口设备,键盘块设备:能够随机读写设备中的内容,比如 硬盘,U盘字符设备由于只能顺序访问,所以应用场景也不多,这篇文章主要讨论块设备。块设备是随机访问的,所以块设备在不同的应用场景中存在很大的优化空间。转载 2016-04-14 14:27:25 · 404 阅读 · 0 评论 -
硬盘的存储原理和内部架构
本来想写个文件系统的专题,结果发现对硬盘的内部架构和存储原理还是比较模糊,因为不了解“一点”硬盘的存储原理对文件系统的认识老是感觉镜花水月,不踏实。经过搜集整理资料就由了本文的问世。借用Bean_lee兄一句话:成果和荣耀归于前辈。首先,让我们看一下硬盘的发展史:1956年9月13日,IBM的IBM 350 RAMAC(Random Access Method of Acc转载 2016-04-14 14:04:12 · 667 阅读 · 0 评论 -
影响机械磁盘速度的因素:寻道时间、旋转延迟、数据传输时间
㈠ 磁道以盘片中心为圆心,用不同的半径,划分出不同的很窄的圆环形区域,称为磁道㈡ 扇区磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区.扇区是磁盘最小的物理存储单元㈢ 柱面上下一串盘片中,相同半径的磁道所组成的一个圆柱型的环壁,就称为柱面 ㈣ 寻道时间磁头从开始移动到数据所在磁道所需要的时间寻道时间越短,I/O操作越快,转载 2015-11-11 16:45:53 · 22440 阅读 · 1 评论 -
每天进步一点点——Linux下的磁盘缓存
转载请说明出处:http://blog.csdn.net/cywosp/article/details/21126161 前段时间在开发一个使用SSD做缓存的系统,在高速写入数据时会出现大量的磁盘缓存。太多的磁盘缓存如果没有及时的写入磁盘中,在机器出现问题时是非常危险的,这样会导致很多的数据丢失,但是如果实时的将数据刷入磁盘中,这样写入效率有太低了。为了弄明白Linux系转载 2016-04-13 21:56:59 · 936 阅读 · 0 评论 -
机械硬盘的延时
硬盘一次读写的时间由两个部分组成:time = latency + data_size / bandwidth latency主要由平均硬盘寻道时间和平均硬盘转动延迟组成。硬盘有多个磁盘片组成,每个磁盘又由N个同心的track构成,每个track又分成M个sector。磁头移动到目标track,就是寻道的时间(seek time)。那硬盘转动延迟(rotational de转载 2016-01-05 16:09:45 · 7386 阅读 · 0 评论 -
磁盘读写和数据库读写哪个效率更高?磁盘读写与数据库的关系
假定在程序效率和关键过程相当且不计入缓存等措施的条件下,读写任何类型的数据都没有直接操作文件来的快,不论MSYQL过程如何,最后都要到磁盘上去读这个“文件”(记录存储区等效),所以当然这一切的前提是只读 内容,无关任何排序或查找操作。动态网站一般都是用数据库来存储信息,如果信息的及时性要求不高 可以加入缓存来减少频繁读写数据库。两种方式一般都支持,但是绕过操作系统直接操作磁盘的性能较高,而转载 2016-04-13 23:14:28 · 8824 阅读 · 0 评论 -
磁盘IOPS(每秒读写次数)的计算方法与测量
IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。随机读写频繁的应用,如OLTP(Online Transaction Processing),IOPS是关键衡量指标。另一个重要指标是数据吞吐量(Thr转载 2016-04-14 09:15:46 · 22741 阅读 · 0 评论 -
SAS SATA SSD IDE硬盘介绍区别
SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是并行SCSI接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,并且提供与SATA硬盘的兼容性。SAS的接口技术可以向下兼容SATA。具体来说,二转载 2015-11-11 15:38:19 · 729 阅读 · 0 评论 -
硬盘的接口种类
硬盘是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。碟片外覆盖有铁磁性材料。硬盘有固态硬盘(SSD 盘,新式硬盘)、机械硬盘(HDD 传统硬盘)、混合硬盘(HHD 一块基于传统机械硬盘诞生出来的新硬盘)。SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,混合硬盘(HHD: Hybrid Hard Disk)是把磁性硬盘和闪存集成到一起的一种硬盘。绝大多数硬盘都是转载 2015-11-10 15:52:59 · 2160 阅读 · 0 评论 -
什么是串并口硬盘 串口与并口硬盘的区别
不经常接触电脑的朋友可能会很多一些电脑小知识不理解,今天编辑在电脑爱好者QQ群中就发现有朋友问了一个比较简单,但新手朋友一般不怎么会关注到的问题:什么是串口硬盘,什么是并口硬盘。两者哪个速度快些等。笔者发现不少朋友一点不懂或知道的不全面,编辑这里发布一些硬盘串口与并口比较详细的介绍。希望对接触的朋友有帮助。 为了便于大家理解,有朋友这样介绍串并口硬盘的区别: 通俗的说,串口转载 2015-11-10 15:57:59 · 15637 阅读 · 0 评论 -
硬盘的读写原理
硬盘的种类主要是SCSI 、IDE 、以及现在流行的SATA等;任何一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如 SCSI标准已经经历了SCSI-1 、SCSI-2、SCSI-3;其中目前咱们经常在服务器网站看到的 Ultral-160就是基于SCSI-3标准的;IDE 遵循的是ATA标准,而目前流行的SATA,是ATA标准的升级版本;IDE是并口设备,而SATA转载 2016-04-14 09:25:17 · 1312 阅读 · 0 评论 -
mmap和direct io和write和fwrite区别
看完此文,题目不言自明。转自 http://blog.chinaunix.net/uid-27105712-id-3270102.html在Linux 开发中,有几个关系到性能的东西,技术人员非常关注:进程,CPU,MEM,网络IO,磁盘IO。本篇文件打算详细全面,深入浅出。剖析文件IO的细节。从多个角度探索如何提高IO性能。本文尽量用通俗易懂的视角去阐述。不copy内核代码。转载 2017-07-07 14:07:05 · 1596 阅读 · 2 评论