摘要:在影響Lustre文件系統(tǒng)讀寫性能的因素中,Lustre文件系統(tǒng)的自身設(shè)置是非常重要的,所以研究Lustre文件系統(tǒng)的性能就需要在這個方面進行詳細的實驗測試,并根據(jù)實驗結(jié)果進行分析,才能提出更符合應(yīng)用需求的Lustre文件系統(tǒng)讀寫優(yōu)化方案。
關(guān)鍵詞:Lustre;讀寫;性能優(yōu)化
中圖分類號:TP316 文獻標識碼:A 文章編號:1007-9599 (2012) 20-0000-02
基于Linux的不同文件系統(tǒng),都有其不同的特點與應(yīng)用場景,NAS系統(tǒng)的特點是可以通過便利的管理方式實現(xiàn)簡單的操作,然而其缺點是擴展性差,不能夠滿足大容量的文件分析處理;SAN實現(xiàn)的系統(tǒng)擁有較好的數(shù)據(jù)傳輸性能以及可擴展性,然而卻無法實現(xiàn)跨平臺的數(shù)據(jù)共享訪問,所以為了更好的解決NAS以及SAN系統(tǒng)的不足,并且更好的利用其優(yōu)點,就逐漸形成了Lustre文件系統(tǒng),實現(xiàn)了數(shù)據(jù)高速訪問的同時,也提高了數(shù)據(jù)文件的簡單化管理以及共享性操作,極大的提高了數(shù)據(jù)的存儲操作效率。
在Lustre自身設(shè)置的各個不同方面中,最影響系統(tǒng)性能的兩個方面是OST(條塊數(shù))以及如何條塊化,這也是Lustre文件系統(tǒng)并發(fā)I/O操作提升性能的關(guān)鍵因素。在Lustre文件系統(tǒng)實際應(yīng)用時,條塊數(shù)這一關(guān)鍵參數(shù)是在系統(tǒng)的初始化時即配置的,主要體現(xiàn)在三個不同的配置層面,分別是stripecount(分條塊數(shù)),stripesize(條塊大?。?,start-ost(起始塊數(shù))。當分條塊數(shù)的值賦予-1時,表示在OST上實施條塊的分割,以確保I/O能夠獲得最大化的操作并發(fā)性能;當起始塊數(shù)設(shè)置為-1時,表示不指定OST,實現(xiàn)了負載的均衡;而條塊大小寫的大小通過會根據(jù)測試應(yīng)用的實際需求設(shè)置不同的值。
1 條塊大小測試
在Lustre文件系統(tǒng)應(yīng)用時,由于條塊的大小能夠影響到Lustre文件系統(tǒng)的讀寫操作性能,所以在驗證影響Lustre文件操作性能的實驗時,也必須對條塊的大小對聚合帶寬的影響進行相應(yīng)的測試。在驗證實驗時,分別測試了Lustre文件條塊由小逐漸增大過程中Lustre文件系統(tǒng)讀寫的聚合帶寬的改變及讀寫效率的差異,如表1所示為實際測試條塊大小對Lustre文件系統(tǒng)聚合帶寬影響的實驗數(shù)據(jù)。
通過實驗測試表格可知,當條塊大小逐漸增大時,會使得Lustre文件系統(tǒng)的讀寫聚合帶寬都降低,進而影響Lustre文件系統(tǒng)的操作性能。為了更好的發(fā)揮出Lustre文件系統(tǒng)的整體性能,在實際應(yīng)用時最好設(shè)置比較小的條塊,才能更好的增加系統(tǒng)的并發(fā)性,進而增加系統(tǒng)的聚合帶寬,增加使用的性能。
由圖1可知,當Lustre條塊大小逐漸增時,其聚合寬帶參數(shù)則逐漸出現(xiàn)下邊的趨勢,由此可以看出,為了更好的發(fā)揮出Lustre文件系統(tǒng)的整體性能,在實際應(yīng)用時最好設(shè)置比較小的條塊,才能更好的增加系統(tǒng)的并發(fā)性,進而增加系統(tǒng)的聚合帶寬,增加使用的性能。
2 條塊數(shù)差異測試
在Lustre文件系統(tǒng)應(yīng)用時,影響Lustre文件系統(tǒng)性能的自身設(shè)置除了條塊的大小,條件數(shù)的不同也能夠影響到Lustre文件系統(tǒng)的讀寫操作性能,所以在驗證影響Lustre文件操作性能的實驗時,也必須對條塊數(shù)的不同對聚合帶寬的影響進行相應(yīng)的測試以驗證條塊數(shù)的不同對聚合帶寬的影響。在驗證條塊數(shù)對Lustre文件系統(tǒng)性能影響實驗時,分別驗證測試了Lustre文件條塊數(shù)小逐漸增多過程中Lustre文件系統(tǒng)讀寫的聚合帶寬的改變以及讀寫效率的差異,如表2所示為實際測試條塊數(shù)不同對Lustre文件系統(tǒng)聚合帶寬影響的實驗數(shù)據(jù)。
由表2條塊數(shù)的不同對Lustre文件系統(tǒng)讀寫聚合帶寬的影響可知,在現(xiàn)有的實驗條件下,Lustre文件系統(tǒng)的文件條塊數(shù)的增加會使得其讀寫聚合帶寬呈遞增的趨勢。為了能夠更好的反應(yīng)Lustre文件系統(tǒng)應(yīng)用時文件條塊數(shù)的不同對文件讀寫操作性能的影響,繪制了如圖2所示的讀寫文件條塊數(shù)不同對Lustre文件系統(tǒng)性能測試影響結(jié)果。
由圖2可知,在Lustre文件系統(tǒng)條塊大小固定時,當條塊數(shù)不斷增加時,其聚合帶寬也是逐漸趨于上升的態(tài)勢,由此可知,當條塊數(shù)目設(shè)置為1時,Lustre文件系統(tǒng)無并發(fā)性,聚合帶寬也最低,但是當條塊數(shù)逐漸增加時,Lustre系統(tǒng)并發(fā)性能以及聚合帶寬都在提升,所以只要合理設(shè)置條塊數(shù)的大小,會對Lustre文件系統(tǒng)性能帶來更有利的發(fā)展局面。
3 性能優(yōu)化策略
根據(jù)影響Lustre性能的因素及條件分析可知,影響Lustre文件讀寫性能的原因是多方面的,然而卻有幾個比較重要的方面,如果能夠在這幾個方面進行相應(yīng)的優(yōu)化設(shè)置,則會在一定程度上提升Lustre文件系統(tǒng)的文件操作讀寫性能,如圖3所示為Lustre文件系統(tǒng)性能優(yōu)化策略結(jié)構(gòu)圖。
根據(jù)圖4可以發(fā)現(xiàn),Lustre自身設(shè)置包括條塊大小與條塊數(shù)的差異不同都會影響到Lustre文件系統(tǒng)的讀寫操作性能。由條塊大小對Lustre文件系統(tǒng)性能影響可知,當條塊數(shù)的字節(jié)數(shù)逐漸增大時,Lustre文件系統(tǒng)的文件讀取性能出現(xiàn)逐漸下降的趨勢,并且在條塊大小為64K字節(jié)時最高,當條塊大小增加到128M時,其性能基本下降1倍;并且其數(shù)據(jù)文件的寫入性能在條塊數(shù)的比較小的范圍內(nèi),通過是小于4M字節(jié)大小范圍內(nèi)基本保持不變,然后當條塊大小繼續(xù)增加時其性能也會繼續(xù)下降,主要體現(xiàn)在當條塊大小增加到128M時,其性能直接下降3倍,所以在Lustre文件系統(tǒng)實際應(yīng)用時,應(yīng)設(shè)置比較小的條塊字節(jié),比如64K字節(jié)就是一個比較好的值。由分析可知,影響Lustre文件系統(tǒng)性能的自身設(shè)置還是有條塊數(shù)的不同,根據(jù)條塊數(shù)差異對Lustre文件系統(tǒng)性能影響結(jié)果進行分析,當條塊數(shù)只有1個時,Lustre文件系統(tǒng)的讀寫性能最低,當條塊數(shù)增加到2個時,文件讀取與寫入性能都將近提升了1倍,然而當條塊數(shù)增加到2個時,Lustre文件系統(tǒng)的讀取性能則出現(xiàn)了下降,但是其數(shù)據(jù)寫入性能還是在繼續(xù)提升,所以條塊數(shù)剛開始增加時能夠同時提升Lustre文件系統(tǒng)的讀寫性能,然而當條塊數(shù)增加到一定數(shù)值時,其數(shù)據(jù)讀取性能則出現(xiàn)了下降,所以在實際應(yīng)用時一定要注意條塊數(shù)的設(shè)置才能夠提供一個更好的Lustre文件系統(tǒng)性能,通過實驗可知,設(shè)置5個條塊數(shù)是一個比較好的選擇。
總之,通過Lustre性能測試研究結(jié)果可知,要想不斷的提升Lustre應(yīng)用系統(tǒng)的整體應(yīng)用性能,就需要不斷的在網(wǎng)絡(luò)傳輸、Lustre自身初始設(shè)置以及應(yīng)用端設(shè)置等幾個不同的層面多測試、多總結(jié)、多分析應(yīng)用,才能夠在具體的實際應(yīng)用中根據(jù)實際情況設(shè)置更好的數(shù)據(jù),達到提升Lustre系統(tǒng)性能的目的。
4 小結(jié)
本文從Lustre自身設(shè)置詳細分析了Lustre性能提升相關(guān)的影響因素,并根據(jù)實驗結(jié)果進行了詳細的分析,提出了不同的實驗應(yīng)用條件下,Lustre文件系統(tǒng)的具體性能對比,進而根據(jù)這些對比結(jié)果提出了改善與提升Lustre文件系統(tǒng)性能的策略與方法。
參考文獻:
[1]張繼征,楊波,陸體軍等.NAS與SAN的融合[J].計算機應(yīng)用研究,2005.22(8):190-192.
[2]余寅輝,余鎮(zhèn)危,楊傳棟等.SAN存儲系統(tǒng)的性能分析模型[J].計算機工程,2007.33(10):271-273.
[3]Oracle.Lustre 1.8 Operations Manual[EB/OL].(2010.6)[2010.8] http://wiki.lustre.org/images/0/09/821-0035_v1.3.pdf