Thursday, September 12, 2013

SSD / NFS的效能測試

先說明一下:
兩個測試目標, 一個是2.5TB的RAID (/ssd, 裡面裝12顆2.5" SSD, XFS)
另一個是400GB的PCIe SSD (/ssd2, ext4).
這兩個連接在一座server上, 但是只用GbE, 所以過網路的話效能會被壓住.
所有的client都是用GbE.
所有的主機都使用CentOS 6.4.

測試軟體是Bonnie++, 做了四種測試:
1. 大檔案循序寫入 (>1GB)
2. 1MB檔案, 建立1024個
3. 100KB檔案, 建立2048個
4. 10KB檔案, 建立4096個
只有大檔案做讀取測試, 因為這些server的RAM都很多, 單檔測試可以建立大型檔案(建議大於RAM的兩倍)去塞滿cache得到正確數字. 但是後面的建檔測試, 這樣做的話實在太花時間, 簡單說是我懶得做XD

Bonnie++的參數在這次測試中學到一些經驗, 不過寫在這裡就會混掉了, 之後另外貼:)

好啦, 廢話不多說, 先來瞻仰一下SSD (所有速度單位都是MB/s, 以下同:)


1GB 1MB 100K 10K
read write write write write
/ssd 739.02 699.54 631.00 173.50 21.04
/ssd2 1223.17 1152.45 831.00 644.20 104.50

破1GB/s了! 果然快! SSD對小檔案處理的優勢也可以明顯看出來, 10K寫入還有100MB/s以上, 同時SSD RAID只剩下20MB/s. 到1MB以上的檔案時, 應該是到了這一台RAID控制器的極限了, 所以速度沒有明顯增加.

過NFS當然會變慢, 下面是分別用1個NFS client, 8個client同時寫入, 還有16個client同時寫入:
(1GB讀取我忘記留數據了, 不過一定也是GbE限制住, 就饒了我吧:p)

NFS test 1GB 1MB 100K 10K
read write write write write
1 client /ssd 117.74 102.00 77.00 33.40 6.56
/ssd2 113.09 101.25 75.00 56.50 17.39
8 clients /ssd 110.87 112.00 118.10 64.60
/ssd2 105.94 111.00 115.70 66.32
16 clients /ssd 111.10 102.00 119.40 95.76
/ssd2 80.47 108.00 117.90 103.26

小檔案過NFS的話, 網路的overhead會增加, 結果就是一整個...
1GB的測試受限於GbE, 實際上的數字應該可以更高.

另外, 網路上有很多其他的測試, 顯示XFS在小檔案的刪除上, 跟ext4比慢很多. 如果你的應用會有這種操作, 最好考慮一下選對FS.

No comments: