本發(fā)明涉及計算機技術領域,具體是一種基于iozone模擬氣象平臺應用的數(shù)據讀寫測試方法。
背景技術:
目前,中國絕大部分氣象局,如中國氣象局、北京市氣象局等,對于數(shù)值天氣預報普遍采用mm5、wrf預報模型。此外,一些氣象局還采用一些自己研發(fā)的輔助預報模型,比如中國氣象局,其還采用其自主研發(fā)的grapes全球預報模型等。
但是,無論氣象局采用哪種氣象預報模型(下稱“氣象平臺”),其對應的計算量都非常大,中間產生的臨時數(shù)據對存儲(即數(shù)據的讀寫)的性能要求都很高。
現(xiàn)有技術中,往往通過實際搭建氣象應用環(huán)境,并在該搭建的環(huán)境下部署不同的氣象應用軟件,之后(通過實際部署氣象應用軟件)完成對氣象平臺中數(shù)據存儲性能的評估。測試環(huán)境部署繁瑣,測試周期長。此為現(xiàn)有技術的不足之處。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題是,針對現(xiàn)有技術的不足,提供一種基于iozone模擬氣象平臺應用的數(shù)據讀寫測試方法,用于簡化測試環(huán)境的部署,縮短測試周期。
為解決上述技術問題,本發(fā)明提供了一種基于iozone模擬氣象平臺應用的數(shù)據讀寫測試方法,包括:
步驟a、在氣象平臺部署高性能文件系統(tǒng);
步驟b、在氣象平臺創(chuàng)建一組測試文件;
步驟c、在氣象平臺安裝iozone,并基于該安裝的iozone以及上述步驟b中所創(chuàng)建的各測試文件,建立步驟a中所部署的高性能文件系統(tǒng)的數(shù)據讀寫模型;
步驟d、依據步驟c中建立的數(shù)據讀寫模型,配置上述iozone支持的進程數(shù)及上述iozone讀寫數(shù)據塊的大?。?/p>
步驟e、基于步驟d中所作的配置,編寫自動化測試腳本,以調用步驟c中所建立的數(shù)據讀寫模型,對氣象平臺的數(shù)據讀寫性能進行測試。
其中,上述步驟c中建立的數(shù)據讀寫模型包括單流數(shù)據讀寫模型。
其中,上述步驟c中建立的數(shù)據讀寫模型還包括多流數(shù)據讀寫模型。
其中,所述單流數(shù)據讀寫模型的實現(xiàn)方法包括步驟:
s1、從所述氣象平臺的各計算節(jié)點中選出一組計算節(jié)點;
s2、遍歷上述步驟s1中選出的各計算節(jié)點,分別采用單進程對當前遍歷出的各相應計算節(jié)點進行數(shù)據讀寫性能測試。
進一步地,所述步驟s1基于上述步驟a中所部署的高性能文件系統(tǒng)的io通路的長短進行相應計算節(jié)點的選擇,且該步驟s1中選出的各相應的計算節(jié)點包括:io通路最長的計算節(jié)點、io通路長度居中的計算節(jié)點,以及io通路最短的計算節(jié)點。
進一步地,上述步驟s2中進行的數(shù)據讀寫性能測試包括以下讀寫操作:write,re-write,read,re-read,randomread,randomwrite,randommix,backwardsread,recordrewrite,stridedread,fwrite,frewrite,fread,freread,writewithmmap,rewritewithmmap,readerwithmmap,re-readerwithmmap,writerposixasynci/o,re-writerposixasynci/o,readerposixasynci/o,re-readerposixasynci/o。
其中,所述多流數(shù)據讀寫模型的實現(xiàn)方法包括步驟:
步驟p1、分別為上述氣象平臺的各計算節(jié)點設置多進程;
步驟p2、控制上述氣象平臺的各計算節(jié)點分別依據預先設定的讀寫操作,通過并發(fā)運行步驟p1中為其各自設置的相應多進程,進行上述氣象平臺的數(shù)據讀寫測試。
其中,步驟p1中為所述的各計算節(jié)點設置的多進程包括:64進程、128進程、256進程和512進程。
其中,上述步驟p2中所述的預先設定的讀寫操作包括:write、re-write、read和re-read。
其中,所述的高性能文件系統(tǒng)為lustre文件系統(tǒng)、gpfsfs文件系統(tǒng)、hdfs文件系統(tǒng)、ceph文件系統(tǒng)、gridfs文件系統(tǒng)、mogilefs文件系統(tǒng)、tfs文件系統(tǒng)、fastdfs文件系統(tǒng)中任意一種文件系統(tǒng)。
與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于:
本發(fā)明基于iozone模擬氣象應用中對數(shù)據存儲的讀寫,不需要實際安裝并運行氣象應用軟件,即可完成對氣象平臺數(shù)據存儲性能的評估測試,環(huán)境部署簡單、測試周期短。
由此可見,本發(fā)明與現(xiàn)有技術相比,具有突出的實質性特點和顯著的進步,其實施的有益效果也是顯而易見的。
附圖說明
圖1為本發(fā)明所述基于iozone模擬氣象平臺應用的數(shù)據讀寫測試方法的方法流程圖。
具體實施方式
為使本發(fā)明的技術方案和優(yōu)點更加清楚,下面將結合附圖,對本發(fā)明的技術方案進行清楚、完整地描述。
具體實施方式1:
圖1為本發(fā)明所述的基于iozone模擬氣象平臺應用的數(shù)據讀寫測試方法的一種具體實施方式。其中,該基于iozone模擬氣象平臺應用的數(shù)據讀寫測試方法,包括以下步驟:
步驟a、在氣象平臺部署高性能文件系統(tǒng)。
本實施方式中,所述的高性能文件系統(tǒng)采用lustre文件系統(tǒng),即實施時,在氣象平臺的各計算節(jié)點(本實施方式中有8個計算節(jié)點)部署lustre文件系統(tǒng)。
其中,lustre文件系統(tǒng)的server端的部署方法為,在linux環(huán)境下,安裝如下軟件包:
kernel-2.6.32-504.8.1.el6_lustre.x86_64.rpm;
kernel-debuginfo-2.6.32-504.8.1.el6_lustre.x86_64.rpm;
kernel-debuginfo-common-x86_64-2.6.32-504.8.1.el6_lustre.x86_64.rpm;
kernel-devel-2.6.32-504.8.1.el6_lustre.x86_64.rpm;
kernel-firmware-2.6.32-504.8.1.el6_lustre.x86_64.rpm;
kernel-headers-2.6.32-504.8.1.el6_lustre.x86_64.rpm;
lustre-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;
lustre-debuginfo-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;
lustre-dkms-2.7.0-1.el6.noarch.rpm;
lustre-iokit-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;
lustre-modules-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;
lustre-osd-ldiskfs-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;
lustre-osd-ldiskfs-mount-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;
lustre-osd-zfs-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;
lustre-osd-zfs-mount-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;
lustre-source-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;
lustre-tests-2.7.0-2.6.32_504.8.1.el6_lustre.x86_64.x86_64.rpm;
perf-2.6.32-504.8.1.el6_lustre.x86_64.rpm;
perf-debuginfo-2.6.32-504.8.1.el6_lustre.x86_64.rpm;
python-perf-2.6.32-504.8.1.el6_lustre.x86_64.rpm;
python-perf-debuginfo-2.6.32-504.8.1.el6_lustre.x86_64.rpm。
lustre文件系統(tǒng)的client端(客戶端)部署方法為,在linux環(huán)境下,在所述氣象平臺的各計算節(jié)點分別安裝如下軟件包:
lustre-client-2.7.0-2.6.32_504.8.1.el6.x86_64.x86_64.rpm;
lustre-client-debuginfo-2.7.0-2.6.32_504.8.1.el6.x86_64.x86_64.rpm;
lustre-client-modules-2.7.0-2.6.32_504.8.1.el6.x86_64.x86_64.rpm;
lustre-client-source-2.7.0-2.6.32_504.8.1.el6.x86_64.x86_64.rpm;
lustre-client-tests-2.7.0-2.6.32_504.8.1.el6.x86_64.x86_64.rpm;
lustre-dkms-2.7.0-1.el6.noarch.rpm;
lustre-iokit-2.7.0-2.6.32_504.8.1.el6.x86_64.x86_64.rpm。
步驟b、在氣象平臺創(chuàng)建一組測試文件。
在本實施方式中,所創(chuàng)建的測試文件的大小包括:128kb、1mb、10mb、100mb、1gb、10gb、128gb、256gb。
步驟c、在氣象平臺安裝iozone,并基于該安裝的iozone以及上述步驟b中所創(chuàng)建的各測試文件,建立步驟a中所部署的高性能文件系統(tǒng)的數(shù)據讀寫模型。
其中,該步驟c中建立的數(shù)據讀寫模型包括單流數(shù)據讀寫模型和多流數(shù)據讀寫模型。
在本實施方式中,所述的單流數(shù)據讀寫模型的實現(xiàn)方法包括步驟:
s1、從所述氣象平臺的各計算節(jié)點中選出一組計算節(jié)點;
s2、遍歷上述步驟s1中選出的各計算節(jié)點,分別采用單進程對當前遍歷出的各相應計算節(jié)點進行數(shù)據讀寫性能測試。
進一步地,所述步驟s1基于上述步驟a中所部署的高性能文件系統(tǒng)的io通路的長短進行相應計算節(jié)點的選擇,且該步驟s1中選出的各相應的計算節(jié)點包括:io通路最長的計算節(jié)點、io通路長度居中的計算節(jié)點,以及io通路最短的計算節(jié)點。
進一步地,上述步驟s2中進行的數(shù)據讀寫性能測試包括以下讀寫操作:write,re-write,read,re-read,randomread,randomwrite,randommix,backwardsread,recordrewrite,stridedread,fwrite,frewrite,fread,freread,writewithmmap,rewritewithmmap,readerwithmmap,re-readerwithmmap,writerposixasynci/o,re-writerposixasynci/o,readerposixasynci/o,re-readerposixasynci/o。
在本實施方式中,所述多流數(shù)據讀寫模型的實現(xiàn)方法包括步驟:
步驟p1、分別為上述氣象平臺的各計算節(jié)點設置多進程;
步驟p2、控制上述氣象平臺的各計算節(jié)點分別依據預先設定的讀寫操作,通過并發(fā)運行步驟p1中為其各自設置的相應多進程,進行上述氣象平臺的數(shù)據讀寫測試。
其中,上述步驟p1中為所述的各計算節(jié)點設置的多進程包括:64進程、128進程、256進程和512進程。其中,在本實施方式中,每個iozone的測試進程運行在一個處理器核中,且氣象平臺的各計算節(jié)點均滿配運行。
其中,上述步驟p2中所述的預先設定的讀寫操作包括:write、re-write、read和re-read。
步驟d、依據步驟c中建立的數(shù)據讀寫模型,配置上述iozone支持的進程數(shù)及上述iozone讀寫數(shù)據塊的大小。
其中,在本實施方式中,相應的配置代碼如下所示:
#definemaxbuffersize(16*1024*1024*2);/用于設置iozone最大支持的數(shù)據塊大小/
#definemaxstreams256*2。/用于設置iozone最大支持線程數(shù)大小/
具體配置時,將上述兩條配置代碼添加至上述iozone的iozone.c中。
步驟e、基于步驟d中所作的配置,編寫自動化測試腳本,以調用步驟c中所建立的數(shù)據讀寫模型,對氣象平臺的數(shù)據讀寫性能進行測試。
使用時,首先在氣象平臺的各計算節(jié)點部署lustre文件系統(tǒng)、并在該氣象平臺創(chuàng)建如上所述大小的各相應測試文件,之后在氣象平臺安裝iozone,并基于該安裝的iozone以及上述所創(chuàng)建的各測試文件,建立上述所部署lustre文件系統(tǒng)的數(shù)據讀寫模型;之后基于上述建立的數(shù)據讀寫模型,配置上述iozone支持的進程數(shù)及上述iozone讀寫數(shù)據塊的大??;最后基于上述所作的配置,編寫自動化測試腳本,調用上述所建立的數(shù)據讀寫模型,對氣象平臺的數(shù)據讀寫性能進行測試。
綜上,本發(fā)明基于iozone模擬氣象應用中對數(shù)據存儲的讀寫,不需要實際安裝并運行氣象應用軟件,即可完成對氣象平臺數(shù)據存儲性能的評估測試,環(huán)境部署簡單、測試周期短。且便于實現(xiàn)。便于推廣使用。
以上實施方式僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施方式對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施方式所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施方式技術方案的范圍。