磁盘相关

上一篇 / 下一篇  2017-06-16 16:36:05 / 个人分类:性能测试相关

磁盘相关

DMA的英文拼写是“Direct Memory Access”,是一种不经过CPU而直接从内存了存取数据的数据交换模式。PIO模式下硬盘和内存之间的数据传输是由CPU来控制的;而在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率。DMA模式与PIO模式的区别就在于,DMA模式不过分依赖CPU,可以大大节省系统资源,二者在传输速度上的差异并不十分明显。DMA模式又可以分为Single-Word DMA(单字节DMA)和Multi-Word DMA(多字节DMA)两种,其中所能达到的最大传输速率也只有16.6MB/s。

低级格式化就是将空白的磁盘划分出的柱面和磁道,再将磁道划分为若干个扇区,每个扇区又划分出标识部分ID、间隔区GAP和数据区DATA等。低级格式化是高级格式化之前的一件工作,它不仅能在DOS环境来完成,也能在Windows NT系统下完成。而且低级格式化只能针对一块硬盘而不能支持单独的某一个分区。每块硬盘在出厂时,已由硬盘生产商进行低级格式化,因此通常使用者无需再进行低级格式化操作。

高级格式化:创建未来操作系统使用的文件系统,根据用户选定的文件系统(如FAT12、FAT16、FAT32、NTFS、EXT2、EXT3等),在磁盘的特定区域写入特定数据,以达到初始化磁盘或磁盘分区、清除原磁盘或磁盘分区中所有文件的一个操作。高级格式化包括对主引导记录中分区表相应区域的重写、根据用户选定的文件系统,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间,以便用户使用该分区管理文件。

Linux IO调度算法CFQ(完全公平排队I/O调度程序)、NOOP(顺序式调度程序)Deadline(截止时间调度程序)、anticipatory registered(预料I/O调度程序)。

CFQ(完全公平排队I/O调度程序):CFQ为每个进程/线程,单独创建一个队列来管理该进程所产生的请求,也就是说每个进程一个队列,各队列之间的调度使用时间片来调度,以此来保证每个进程都能被很好的分配到I/O带宽,I/O调度器每次执行一个进程的4次请求.。CFQ试图均匀地分布对I/O带宽的访问,避免进程被饿死并实现较低的延迟,是deadline和as调度器的折中.CFQ对于多媒体应用(video,audio)和桌面系统是最好的选择.CFQ赋予I/O请求一个优先级,而I/O优先级请求独立于进程优先级,高优先级的进程的读写不能自动地继承高的I/O优先级.是系统默认的IO调度算法。

NOOP(电梯式调度程序):NOOP实现了一个简单的FIFO队列,它像电梯的工作主法一样对I/O请求进行组织,当有一个新的请求到来时,它将请求合并到最近的请求之后,以此来保证请求同一介质。NOOP倾向饿死读而利于写,NOOP对于闪存设备,RAM,嵌入式系统是最好的选择

Deadline(截止时间调度程序)通过时间以及硬盘区域进行分类,这个分类和合并要求类似于noop的调度程序。Deadline确保了在一个截止时间内服务请求,这个截止时间是可调整的,而默认读期限短于写期限.这样就防止了写操作因为不能被读取而饿死的现象。Deadline对数据库环境(ORACLE RAC,MYSQL等)是最好的选择。

anticipatory registered(预料I/O调度程序)在本质上与Deadline一样,但在最后一次读操作后,要等待6ms,才能继续进行对其它I/O请求进行调度.
可以从应用程序中预订一个新的读请求,改进读操作的执行,但以一些写操作为代价。它会在每个6ms中插入新的I/O操作,而会将一些小写入流合并成一个大写入流,用写入延时换取最大的写入吞吐量。AS适合于写入较多的环境,比如文件服务器。AS对数据库环境表现很差.

影响磁盘性能的因素有转速、寻道速度、数据密度、接口协议和速度四种;其中转速在现有技术条件下转速越快,磁盘性能越好;寻道速度是最关键得因素,采用IO调度算法就是为了提高寻道速度;数据密度是指单盘的容量,数据密度越大,读取的数据就越多,说明磁盘的性能越好。磁盘接口是磁盘与主机之间的连接部件,主要用于磁盘缓存与主机内存间传输数据。磁盘接口分为IDE、SATA、SCSI、光纤通道4种类型,接口速度会影响磁盘的外部传输速率。

linux中查看当前系统支持的IO调度算法:

dmesg | grep -l scheduler

查看当前系统正在使用IO调度算法:

cat /sys/block/sda/queue/scheduler

监控磁盘

linux中监控磁盘的命令:、

iostat -x 间隔时间 次数

如 iostat -x 2 5(间隔2s采集5次)

得到列表关于devices的参数意义:

rrqm/s:每秒读请求合并数

wrqm/s:每秒写请求合并数

rsec/s:每秒读写扇区数

await:处理时间+等待时间(重要)

util:磁盘使用率




TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar