本發(fā)明涉及服務器技術領域,具體涉及一種自動化測試SSD性能的方法。
背景技術:
隨著IT領域技術的不斷發(fā)展,傳統(tǒng)信息化服務以及日趨強大的云計算服務,對服務器的性能要求越來越高。一款服務器無論是在研發(fā)階段還是生產(chǎn)階段都需要對產(chǎn)品進行性能測試,從而嚴格保證該產(chǎn)品的可靠性,數(shù)據(jù)的可靠性能也是服務器一個重要指標。隨著服務器市場的競爭越來越激烈,客戶需求的不同,每一個客戶對于性能都有自己的嚴格定義,在進行性能測試時,如果一個個命令去敲入執(zhí)行,測試進度緩慢且浪費人力物力。
技術實現(xiàn)要素:
本發(fā)明的技術任務是提供一種自動化測試SSD性能的方法,測試時,只需要自動執(zhí)行腳本,設置測試時間,實時輸出測試結果,可以更好的監(jiān)控性能波動,直至測試完成。
本發(fā)明解決其技術問題所采用的技術方案是:
一種自動化測試SSD性能的方法,搭建所要測試的機器,將所需測試的硬盤直連到服務器中,安裝linux系統(tǒng);編譯一個可執(zhí)行shell腳本;自動執(zhí)行腳本,輸出結果,完成測試;
該方法通過以下步驟實現(xiàn):
1)、組裝好待測試的服務器;
2)、安裝需要測試的操作系統(tǒng)和fio軟件;
3)、確保fio軟件完全安裝;
4)、將寫好的腳本拷入操作系統(tǒng)中;
5)、自動執(zhí)行測試腳本,可以實時監(jiān)測盤的運行情況,硬盤的速率寬帶;
6)、輸出測試結果,將測試結果整理分析。
進一步的,所述可執(zhí)行shell腳本包括以下部分:
1)先對硬盤進行隨機預處理操作,從裸盤狀態(tài)變?yōu)闈M盤狀態(tài),進行下面的測試;
2)進行4K隨機讀IOPS測試,腳本會自動生成測試結果;
3)進行4K隨機寫IOPS測試,腳本會自動生成測試結果;
4)進行128K順序寫帶寬測試,腳本會自動生成測試結果;
5)進行128K順序讀帶寬測試,腳本會自動生成測試結果。
本發(fā)明的一種自動化測試SSD性能的方法與現(xiàn)有技術相比,具有以下有益效果:
該測試腳本是在Linux系統(tǒng)下用標準的腳本自動執(zhí)行命令,并實時輸出測試結果,測試時,只需要自動執(zhí)行腳本,設置測試時間,實時輸出測試結果,可以更好的監(jiān)控性能波動,直至測試完成;
本方法能夠很好的完成了測試任務,該測試方法操作簡單,具有較好的易用性,大大節(jié)省了測試時間,提高了測試效率。
具體實施方式
下面結合具體實施例對本發(fā)明作進一步說明。
一種自動化測試SSD性能的方法,搭建所要測試的機器,將所需測試的硬盤直連到服務器中,安裝linux系統(tǒng);編譯一個可執(zhí)行.sh腳本;自動執(zhí)行腳本,輸出結果,完成測試;
該方法通過以下步驟實現(xiàn):
1)、組裝好待測試的服務器;
2)、安裝需要測試的操作系統(tǒng)和fio軟件;
3)、確保fio軟件完全安裝;
4)、將寫好的腳本拷入操作系統(tǒng)中;
5)、自動執(zhí)行測試腳本,可以實時監(jiān)測盤的運行情況,硬盤的速率寬帶;
6)、輸出測試結果,將測試結果整理分析。
所述可執(zhí)行.sh腳本包括以下部分:
1)先對硬盤進行隨機預處理操作,從裸盤狀態(tài)變?yōu)闈M盤狀態(tài),進行下面的測試;
2)進行4K隨機讀IOPS測試,腳本會自動生成測試結果;
3)進行4K隨機寫IOPS測試,腳本會自動生成測試結果;
4)進行128K順序寫帶寬測試,腳本會自動生成測試結果;
5)進行128K順序讀帶寬測試,腳本會自動生成測試結果。
具體腳本內(nèi)容如下:
#性能測試隨機預處理
fio --ioengine=libaio --direct=1 --bwavgtime=2000 --write_bw_log=bandwidth_init --thread --norandommap --filename=/dev/sdb --name=init_seq --output=init_128KW.log --rw=write --bs=128k --numjobs=1 --iodepth=32 --runtime=3600s --time_based
fio --ioengine=libaio --direct=1 --iopsavgtime=2000 --write_iops_log=iops_init --thread --norandommap --filename=/dev/sdb --name=init_rand --output=init_4KRW.log --rw=randwrite --bs=4k --numjobs=1 --iodepth=32 --runtime=10800s --time_based
#4K隨機讀IOPS測試
nohup /tmp/nmon_x86_64_rhel7 -f -s 2 -c 3750 -m /home/ssdtest/ssddata &
sleep 120
DEV=/dev/sdb TIME=7200s fio test_4K_read --output=4k_read_IOPS_sum.log --iopsavgtime=2000 --write_iops_log=iops_4K_read
sleep 180
#4K隨機寫IOPS測試
nohup /tmp/nmon_x86_64_rhel7 -f -s 2 -c 3750 -m /home/ssdtest/ssddata &
sleep 120
DEV=/dev/sdb TIME=7200s fio test_4K_write --output=4k_write_IOPS_sum.log --iopsavgtime=2000 --write_iops_log=iops_4K_write
sleep 180
#順序寫帶寬測試-128K
nohup /tmp/nmon_x86_64_rhel7 -f -s 2 -c 3750 -m /home/ssdtest/ssddata &
sleep 120
DEV=/dev/sdb TIME=7200s fio test_128K_write --output=128k_write_BW_sum.log --bwavgtime=2000 --write_bw_log=bandwidth_128K_write
sleep 180
#順序讀帶寬測試-128K
nohup /tmp/nmon_x86_64_rhel7 -f -s 2 -c 3750 -m /home/ssdtest/ssddata &
sleep 120
DEV=/dev/sdb TIME=7200s fio test_128K_read --output=128k_read_BW_sum.log --bwavgtime=2000 --write_bw_log=bandwidth_128K_read
sleep 180
腳本內(nèi),時間,盤符 numjobs, iodepth等參數(shù)都可以按照不同情況進行修改 。
通過上面具體實施方式,所述技術領域的技術人員可容易的實現(xiàn)本發(fā)明。但是應當理解,本發(fā)明并不限于上述的具體實施方式。在公開的實施方式的基礎上,所述技術領域的技術人員可任意組合不同的技術特征,從而實現(xiàn)不同的技術方案。