1、磁盤IO,即輸入/輸出(Input/Output),這是測試磁盤性能一個重要指標,一些便宜的VPS主機為了降低成本,以大量的低性能的硬盤來充當服務器,導致VPS主機因為IO差而拖了整個主機性能的后腿。
2、測試VPS主機磁盤IO的性能可以執行以下兩個命令:
dd if=/dev/zero of=test bs=64k count=4k oflag=dsync
dd if=/dev/zero of=test bs=8k count=256k conv=fdatasync
3、conv=fdatasync與oflag=dsync的區別在於:sync函數只是將所有修改過的塊緩沖區排入寫隊列,然后就返回,它並不等待實際寫磁盤操作結束。
4、而fsync函數只對由文件描述符filedes指定的單一文件起作用,並且等待寫磁盤操作結束,然后返回。這是我的阿里雲VPS的硬盤IO測試結果。
5、SSD硬盤速度測試。對於VPS采用SSD硬盤的,為了更加真實的反映出SSD硬盤的性能,在控制端命令中執行以下命令:
yum install hdparm -y
fdisk -l
hdparm -t /dev/hda
6、第一句是安裝hdparm,第二句是找出對應磁盤的驅動號,第三句就是利用hdparm在指定的硬盤上測試硬盤的讀寫速度。
7、VPS硬盤IO負載測試。使用top命令查看%wa數據,表示IO等待所占用的CPU時間的百分比,高過30%時IO壓力可能比較大。
8、另外一條命令是:iostat -x 1 10,如果沒有執行安裝:yum install sysstat,主要查看%util 和%idle ,如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,idle小於70% IO壓力就較大了,一般讀取速度有較多的wait。