對機械硬碟和SSD固態硬碟IOPS、吞吐量的壓測對比
最近,我利用sysbench對我們的機械硬碟和固態硬碟的iops、吞吐量進行了壓測對比。
一、 環境
分別對SSD固態硬碟和機械硬碟進行壓測;
分別在2G檔案和8G檔案上的進行壓測;
分別對4k和16k兩種資料塊進行壓測;
分別對seqrd(順序讀)、seqwr(順序寫)、rndrd(隨機讀)、rndwr(隨機寫)和rndrw(隨機讀寫)5種模式進行壓測。
二、sysbench的安裝
1、下載sysbench-0.5.tar.gz
2、解壓並安裝
tar xzvf sysbench-0.5.tar.gz cd sysbench-0.5 chmod +x autogen.sh ./autogen.sh ./configure make make install
三、建立虛擬機器
分別在固態硬碟和機械硬碟上建立相同配置的虛擬機器,cpu和記憶體要相同。
四、用指令碼壓測
磁碟io自動測試指令碼sysbench.sh:
#!/bin/sh set -u #當執行時使用到未定義過的變數,則顯示錯誤資訊。 set -x #執行指令後,會先顯示該指令及所下的引數。 set -e #若指令傳回值不等於0,則立即退出shell。 for size in 2G 8G;do for mode in seqrd seqwr rndrd rndwr rndrw;do for blksize in 4096 16384;do sysbench --test=fileio --file-num=64 --file-total-size=$size prepare for threads in 1 4 8 16 32;do echo "====== testing $blksize in $threads threads" echo PARAMS $size $mode $threads $blksize > sysbench-size-$size-mode-$mode-threads-$threads-blksz-$blksize for i in 1 2 3;do sysbench --test=fileio --file-total-size=$size --file-test-mode=$mode --max-time=180 --max-requests=100000000\ --num-threads=$threads --init-rng=on --file-num=64 --file-extra-flags=direct --file-fsync-freq=0\ --file-block-size=$blksize run | tee -a sysbench-size-$size-mode-$mode-threads-$threads-blksz-$blksize 2>&1 done done sysbench --test=fileio --file-total-size=$size cleanup done done done
五、收集資料
當在SSD固態硬碟和機械硬碟上執行完sysbench.sh後,用如下指令碼在生成的sysbench報告裡面分別收集iops和吞吐量的資料。
執行iops.sh:
#!/bin/bash for line in `ls` do value=`cat $line |grep 'Requests/sec executed' | awk '{print $1}' |xargs` echo $line ' ' $value done
iops結果如下:
sysbench-size-8G-mode-rndrd-threads-16-blksz-16384 6387.80 6335.13 6431.04 sysbench-size-8G-mode-rndrd-threads-1-blksz-16384 473.58 877.77 1196.82 sysbench-size-8G-mode-rndrd-threads-32-blksz-16384 7135.20 7126.51 7128.65 sysbench-size-8G-mode-rndrd-threads-4-blksz-16384 2954.01 4317.96 2480.89 sysbench-size-8G-mode-rndrd-threads-8-blksz-16384 5105.38 4224.27 4325.41 sysbench-size-8G-mode-rndrw-threads-16-blksz-16384 3466.77 3474.89 3451.00 sysbench-size-8G-mode-rndrw-threads-1-blksz-16384 689.41 1180.35 1520.89 sysbench-size-8G-mode-rndrw-threads-32-blksz-16384 3697.38 3697.99 3752.44 sysbench-size-8G-mode-rndrw-threads-4-blksz-16384 3053.36 2063.43 2297.72
執行throughput.sh
#!/bin/bash for line in `ls` do value=`cat $line |grep Mb/sec | awk '{print $8}' ` echo $line $value done
throughput的結果如下:
sysbench-size-8G-mode-rndrd-threads-16-blksz-16384 (99.809Mb/sec) (98.986Mb/sec) (100.48Mb/sec) sysbench-size-8G-mode-rndrd-threads-1-blksz-16384 (7.3997Mb/sec) (13.715Mb/sec) (18.7Mb/sec) sysbench-size-8G-mode-rndrd-threads-32-blksz-16384 (111.49Mb/sec) (111.35Mb/sec) (111.39Mb/sec) sysbench-size-8G-mode-rndrd-threads-4-blksz-16384 (46.156Mb/sec) (67.468Mb/sec) (38.764Mb/sec) sysbench-size-8G-mode-rndrd-threads-8-blksz-16384 (79.772Mb/sec) (66.004Mb/sec) (67.585Mb/sec) sysbench-size-8G-mode-rndrw-threads-16-blksz-16384 (54.168Mb/sec) (54.295Mb/sec) (53.922Mb/sec) sysbench-size-8G-mode-rndrw-threads-1-blksz-16384 (10.772Mb/sec) (18.443Mb/sec) (23.764Mb/sec) sysbench-size-8G-mode-rndrw-threads-32-blksz-16384 (57.772Mb/sec) (57.781Mb/sec) (58.632Mb/sec)
可以看到,指令碼自動對每組資料測試了三次。
我們把這些資料放在excel裡面,然後對每組資料取平均值,並用excel作圖。
六、結果分析
6.1 機械硬碟(2G檔案)的結果
結論:
透過上面兩張圖可以看出,在2G磁碟檔案下,4k資料塊的iops最高,可以達到2.8萬;16k資料塊的吞吐量最高,可以達到140Mb/s
6.2 機械硬碟(8G檔案)的結果
結論:
透過上面兩張圖可以看出,在8G磁碟檔案下,4k資料塊的iops最高,可以達到2.8萬;16k資料塊的吞吐量最高,可以達到110Mb/s。
6.3 SSD固態硬碟(2G檔案)的結果
結論:
在SSD固態硬碟上建立2G的檔案時,4k資料塊的iops最高,可以達到2.8萬;16k資料塊測得的吞吐量最高,為140Mb/s。
6.4 SSD固態硬碟(8G檔案)的結果
結論:
在SSD固態硬碟上建立8G的檔案時,4k資料塊的iops最高,可以達到2.8萬;16k資料塊測得的吞吐量最高,為140Mb/s。
6.5 SSD固態硬碟和機械硬碟的iops、吞吐量對比
上面我們看到,資料塊越小,iops越高,吞吐量卻較小。
我本次測試磁碟效能是為了給MySQL資料庫用的,所以下面我們著重對比一下,SSD固態硬碟和機械硬碟在8G檔案、16k資料塊時的差異。
結論:
在8G磁碟上,資料塊為16k的情況下,機械硬碟和SSD固態硬碟的順序讀寫能力相當,但是SSD固態硬碟的隨機讀寫效能顯然比機械硬碟更好一些。
所以,如果我們把現在mysql硬碟由機械的換成SSD的,效能大概會提升一倍。
下面我們再對比一下機械硬碟和SSD固態硬碟的吞吐量:
結論:
同樣,從吞吐量來看,得到的結論和iops的相同,即在8G磁碟上,資料塊為16k的情況下,機械硬碟和SSD固態硬碟的順序讀寫能力相當,但是SSD固態硬碟的隨機讀寫效能顯然比機械硬碟更好一些。
所以,如果我們把現在mysql硬碟由機械的換成SSD的,效能大概會提升一倍。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28916011/viewspace-2200027/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SSD固態硬碟要分割槽嗎?SSD固態硬碟分割槽與不分割槽的效能對比硬碟
- 如何檢測機械硬碟和固態硬碟的健康狀況?硬碟
- 機械硬碟與固態硬碟的適用場景硬碟
- 固態硬碟與機械硬碟的概念與區別硬碟
- 各品牌值得買的SSD固態硬碟推薦 618買SSD固態硬碟必看硬碟
- Backblaze:2023硬碟實測故障率顯示SSD比機械硬碟更可靠硬碟
- SSD固態硬碟使用壽命檢測方法 固態硬碟怎麼測剩餘壽命?硬碟
- SSD固態硬碟檢測工具:SSDReporter mac版硬碟Mac
- SSD固態硬碟要分割槽嗎?不同容量SSD固態硬碟分割槽方案建議硬碟
- DFL針對SSD固態硬碟2258XT主控的支援預覽硬碟
- 機械硬碟和固態硬碟有什麼不同之處?哪個更耐用?硬碟
- 固態硬碟和機械硬碟哪個好?DIY電腦裝機之電腦硬碟選購指南硬碟
- Bluehost SSD固態硬碟伺服器效能評測硬碟伺服器
- windows怎麼檢視是否是固態硬碟還是機械硬碟Windows硬碟
- SSD固態硬碟是分割槽好還是不分割槽好?SSD固態硬碟使用注意事項硬碟
- SSD NVME固態 硬碟 資料恢復硬碟資料恢復
- 西部資料250GB藍盤固態硬碟評測 告別機械硬碟時代硬碟
- 2019-2023年全球機械硬碟和固態硬碟出貨量(附原資料表) 硬碟
- win10怎麼看硬碟是機械還是固態_win10看電腦磁碟是固態硬碟還是機械盤的方法Win10硬碟
- win10固態硬碟怎麼4k對齊_win10固態硬碟4k對齊教程Win10硬碟
- 固態硬碟該怎麼選?高價效比的固態硬碟推薦,選它!硬碟
- 固態硬碟QLC、SLC、MLC、TLC顆粒區別對比知識 搭載QLC顆粒的固態硬碟Z怎麼樣?硬碟
- 如何從SSD固態硬碟救援丟失的資料硬碟
- win10系統怎麼優化ssd硬碟提高固態硬碟速度Win10優化硬碟
- 高價效比SSD固態推薦 120GB-250GB固態硬碟買哪款好?硬碟
- 固態硬碟壽命檢測方法 怎麼看SSD還能用多久?硬碟
- 如何恢復SSD NVME固態硬碟的資料恢復硬碟資料恢復
- SK Hynix 即將推出的 300TB 固態硬碟 (SSD)硬碟
- win10系統怎麼最佳化ssd硬碟提高固態硬碟速度Win10硬碟
- NVMe M.2 SSD固態硬碟選購知識 買M.2 NVME固態硬碟要注意什麼?硬碟
- 換硬碟要重灌系統嗎 電腦更換固態機械硬碟安裝系統教程硬碟
- SSD固態硬碟檢測工具:SSDReporter for mac v1.5.7(1453)啟用版硬碟Mac
- 如何選擇合適的SSD介面?SSD固態硬碟介面型別詳解硬碟型別
- SSD固態硬碟會成為專業全景相機的主流標配嗎硬碟
- Win10系統電腦提升SSD固態硬碟效能的方法Win10硬碟
- 固態硬碟哪個牌子好 十大固態硬碟品牌介紹硬碟
- SSD固態硬碟受中、高階伺服器所青睞硬碟伺服器
- 固態硬碟儲存原理硬碟