首先可以通过看硬盘型号,大致判断硬盘是什么级别的。比如你不能拿企业级的硬盘和 家用PC的普通硬盘比,这样比是没有价值的。VPS也是没有测试的必要,因为VPS的性能取决于整个服务器性能,比如一个低配服务器开5个vps,和一个高配服务器开30个vps,这是没有对比性的。 独立服务器检测硬盘性能如下,通过dd命令和vmstat命令,仅供技术员墨迹:
DD大致检测: dd if=/dev/zero of=test bs=64k count=4k oflag=dsync
几个独立服务器的硬盘dd结果参考(注意,dd只有在服务器完全空闲的情况下对比才有意义。如果一个服务器跑了很多应用,一个服务器空闲,那么对比结果是没有任何意义的):
Vendor: ATA Model: WDC WD5000AAKX-0 Rev: 15.0
[[email protected]]# dd if=/dev/zero of=test bs=64k count=4k oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 7.05519 seconds, 38.0 MB/s
Vendor: ATA Model: WDC WD2002FYPS-0 Rev: 04.0
[[email protected]]# dd if=/dev/zero of=test bs=64k count=4k oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 4.96645 seconds, 54.0 MB/s
Vendor: WDC Model: WD1002FAEX-0 Rev: 05.0 RAID10
[[email protected]]# dd if=/dev/zero of=test bs=64k count=4k oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 2.05799 seconds, 130 MB/s
IO wait 参考:
vmstat下表io下面的bi表示读取和bo表示写入,单位是block(硬盘读写的最小单位是扇区,一个扇区是512 bytes。一次硬盘读写的数据量不会超过512 bytes,这一次读写的数据量就称为1个block。在大文件的读写操作中,基本可以按乘512来根据block计算出读写的实际数据量,误差很小。)cpu下面的wa,这个wa就是wait的缩写,代表的意思是CPU在等待硬盘读写操作的时间,用百分比表示。wait越大则机器io性能就越差。
[[email protected]]# man vmstat | grep 'block device'
bi: Blocks received from a block device (blocks/s). 读
bo: Blocks sent to a block device (blocks/s). 写
CTOHOME提醒:关于bo和bi,到底是读还是写,也许你会看到完全相反的2种解释。这是某些理解错误导致的。正确做法,是你自己测试下。首先vmstat 1 1000运行起来,观察下bo和bi, 然后再开一个ssh窗口,运行 du -sh / 这个命令来读取输出各个目录的大小。这里几乎没有写入操作,然后你看看你的bi或bo是否有变化,对CTOHOME的服务器测试结果,明显,bi变大,说明bi是读文件。
vmstat 1 1000
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
5 1 9504 230360 593980 12154304 0 0 24 1316 3170 7063 15 2 83 1 0
3 2 9504 226840 594016 12156884 0 0 180 0 3403 5827 18 3 76 3 0
2 0 9504 238936 594076 12157364 0 0 108 16 3634 2834 17 3 76 4 0
2 0 9504 246568 594084 12157356 0 0 172 0 3315 7355 12 2 84 1 0
3 0 9504 246072 594092 12157400 0 0 12 0 3489 5299 18 2 80 1 0
5 1 9504 246128 594100 12157828 0 0 60 3800 3430 2577 18 3 78 1 0
3 0 9504 243936 594164 12158428 0 0 984 2220 3624 12936 23 3 71 3 0
1 0 9504 249004 594168 12158424 0 0 4 0 3222 2282 12 2 86 0 0
0 0 9504 249192 594208 12158468 0 0 76 2060 3762 5611 9 2 88 1 0
0 0 9504 248256 594216 12158460 0 0 92 0 3471 7062 7 1 90 1 0
3 1 9504 233860 594232 12158880 0 0 144 0 3371 8783 15 2 81 2 0
1 0 9504 232720 594236 12158876 0 0 180 24 3648 19296 33 4 61 3 0
5 0 9504 228440 594260 12159408 0 0 36 0 3589 5185 18 2 79 2 0
4 0 9504 245836 594280 12159824 0 0 264 2820 3743 17055 25 5 67 2 0
2 0 9504 232392 594292 12159816 0 0 92 0 3799 4387 17 3 79 1 0
0 0 9504 248092 594324 12159784 0 0 116 1448 3395 2450 4 2 92 2 0
0 3 9504 241272 594336 12159896 0 0 4 3364 3828 3339 6 1 68 26 0
1 5 9504 245452 594360 12159872 0 0 608 1804 3851 7458 5 2 59 34 0
1 2 9504 246452 594396 12159872 0 0 20 848 3176 3440 1 1 62 36 0
4 2 9504 245352 594488 12160652 0 0 992 1012 3725 9925 16 2 54 28 0
1 0 9504 239124 594504 12161668 0 0 96 4 3283 10042 19 2 77 2 0
0 0 9504 246200 594508 12161664 0 0 0 1716 3707 2144 1 1 98 0 0
1 0 9504 229088 594508 12161664 0 0 16 0 3438 2846 12 3 84 1 0
vmstat 1 1000
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 217284 116704 397428 0 0 1244 327 80 272 0 0 99 1 0
0 0 0 216424 116716 397416 0 0 8 272 366 1717 0 0 99 0 0
0 0 0 216424 116716 397436 0 0 0 0 310 1590 0 0 100 0 0
0 0 0 216424 116736 397416 0 0 12 420 340 1841 0 0 100 0 0
0 0 0 216424 116744 397436 0 0 4 120 318 1684 0 0 100 0 0
0 0 0 216424 116744 397436 0 0 0 0 302 1612 0 0 100 0 0
0 0 0 216424 116756 397424 0 0 8 96 315 1667 0 0 100 0 0
0 0 0 216424 116756 397424 0 0 0 0 305 1603 0 0 100 0 0
0 0 0 216424 116760 397432 0 0 4 184 323 1738 0 0 100 0 0
0 0 0 216424 116760 397432 0 0 0 168 314 1702 0 0 100 0 0
0 0 0 216432 116764 397432 0 0 4 0 306 1636 0 0 100 0 0
0 0 0 216432 116776 397420 0 0 8 96 314 1634 0 0 100 0 0