首页 > 代码库 > 2017-4-10 磁盘性能测试

2017-4-10 磁盘性能测试

 

     刚买了固态硬盘,想试试效果,虽然还是虚拟机使用windows的硬盘分区,但还是有点效果的,主要是想以后能方便做实验,openstack几个节点资源要求太高了,电脑不高配不行。

   

一、测试机械硬盘。
1、第一种方案dd命令
[root@agent ~]# cd /mnt/
[root@agent mnt]# ls
[root@agent mnt]# time dd if=/dev/zero bs=1G count=1 of=1GB.file ##从黑洞写入数据到磁盘文件,测试写性能
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 274.62 s, 3.9 MB/s

real 4m35.165s
user 0m0.005s
sys 0m47.671s

[root@agent mnt]# time dd of=1GB.file bs=1G count=1 if=/dev/zero ##从磁盘文件读数据到黑洞,测试读性能

1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 227.994 s, 4.7 MB/s

real 3m48.952s
user 0m0.003s
sys 0m27.997s
总结:读性能要比写速度快点,机械硬盘太慢!

2、第二种方案iostat命令
[root@agent mnt]# iostat -m ##以兆字节进行显示
Linux 3.10.0-327.el7.x86_64 (agent) 04/10/2017 _x86_64_ (1 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
5.96 0.00 13.65 18.21 0.00 62.18

Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 95.47 2.56 3.13 3953 4834
dm-0 47.44 1.22 1.72 1885 2659
dm-1 700.88 1.33 1.40 2062 2172

iowait很大的原因是什么?linux下在有大量网络通讯情况下,使用top命令看到iowait非常大,达到98%。,高速cpu会造成很高的iowait值,但这并不代表磁盘是系统的瓶颈。唯一能说明磁盘是系统瓶颈的方法,就是很高的read/write时间,一般来说超过20ms,就代表了不太正常的磁盘性能
iowait这个数字越高说明越多的CPU资源在等待I/O处理完毕

3、第三种方案hdparm命令,hdparm不应该来说是测试硬盘的速度,而是测试内存中的缓存和缓冲的速度。
[root@agent ~]# hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads: 4156 MB in 2.00 seconds = 2078.06 MB/sec
Timing buffered disk reads: 252 MB in 3.06 seconds = 82.45 MB/sec


二、SSD固态硬盘
1、第一种方案dd命令
[root@ssd mnt]# time dd if=/dev/zero bs=1G count=1 of=1GB.file
记录了1+0 的读入
记录了1+0 的写出
1073741824字节(1.1 GB)已复制,45.908 秒,23.4 MB/秒

real 0m46.179s
user 0m0.004s
sys 0m29.975s
[root@ssd mnt]# time dd of=1GB.file bs=1G count=1 if=/dev/zero
记录了1+0 的读入
记录了1+0 的写出
1073741824字节(1.1 GB)已复制,41.1962 秒,26.1 MB/秒

real 0m41.583s
user 0m0.002s
sys 0m27.560s

总结:可以看到SSD比机械硬盘4分钟快了近10倍左右!
2、第二种方案iostat命令
[root@ssd mnt]# yum install pcp-import-iostat2pcp -y
[root@ssd mnt]# iostat -m
Linux 3.10.0-327.el7.x86_64 (ssd) 2017年04月10日 _x86_64_ (1 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
10.26 0.00 19.57 0.34 0.00 69.83

Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 111.85 2.94 6.09 2758 5706
dm-0 28.90 0.75 2.40 704 2250
dm-1 1498.83 2.19 3.67 2048 3436
总结:可以看到iowait的时候几乎趋近与0,牛逼了!令人奇怪的是,写速率居然比读速度快,这个真是让我意外呀~

3、第三种方案hdparm命令,缓存是提高读性能的,缓冲是提供缓冲写性能的
[root@ssd mnt]# yum install hdparm -y
Timing cached reads: 3632 MB in 2.00 seconds = 1819.26 MB/sec
Timing buffered disk reads: 850 MB in 3.00 seconds = 282.94 MB/sec
总结:从这里看出SSD很大程度提高磁盘性能的原因是buffer的存在,速度比机械硬盘快了3倍多,而cache速率相当。

 

2017-4-10 磁盘性能测试