阿里雲主機效能評測之硬碟
總感覺正在用的息壤VPS主機效能不好,網路也時常性的會出現卡頓。
申請了一臺阿里雲主機,單核1G記憶體,10G資料盤,2M頻寬的配置,先測試下硬碟效能。
硬碟測試 我們用dd命令附帶不同的引數進行測試。
1)命令:dd bs=64k count=4k if=/dev/zero of=test
下面是阿里雲:
dd bs=64k count=4k if=/dev/zero of=test
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 0.317469 seconds, 846 MB/s
下面是息壤VPS的:
dd bs=64k count=4k if=/dev/zero of=test
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 1.98389 seconds, 135 MB/s
看似磁碟效能是要高出不少。dd預設的方式不包括“同步(sync)”命令。也就是說,dd命令完成前並沒有讓系統真正把檔案寫到磁碟上。所以以上命令只是單純地把這128MB的資料讀到記憶體緩衝當中(寫快取[write cache])。所以你得到的將是一個超級快的速度。因為其實dd給你的只是讀取速度,直到dd完成後系統才開始真正往磁碟上寫資料,但這個速度你是看不到了。所以如果這個速度很快,沒有什麼作用。
再繼續比較:
2)命令:dd bs=64k count=4k if=/dev/zero of=test conv=fdatasync
加入這個引數後,dd命令執行到最後會真正執行一次“同步(sync)”操作,所以這時候你得到的是讀取這128M資料到記憶體並寫入到磁碟上所需的時間,這樣算出來的時間才是比較符合實際使用結果的。
命令:dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
加入這個引數後,dd在執行時每次都會進行同步寫入操作。也就是說,這條命令每次讀取64k後就要先把這64k寫入磁碟,然後再讀取下面這64k,一共重複128次。這可能是最慢的一種方式了,因為基本上沒有用到寫快取(write cache)。
實際執行結果:
阿里雲:
[[email protected]
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 5.35827 seconds, 50.1 MB/s
[[email protected] ~]# dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 27.9606 seconds, 9.6 MB/s
息壤VPS:
[[email protected] java]# dd bs=64k count=4k if=/dev/zero of=test conv=fdatasync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 2.07624 seconds, 129 MB/s
[[email protected] java]# dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 12.2714 seconds, 21.9 MB/s
在寫入速度上可見阿里雲主機並不見優勢,效能差了一半!這也是許多人提到的問題,可能也是使用雲主機使用叢集的弊端。寫入速度只是在更新網站的時候會有所影響,只要使用者瀏覽的速度快就行了,這個倒不是大問題。