NFS協(xié)議的優(yōu)化設(shè)置
NFS,是網(wǎng)絡(luò)文件系統(tǒng)。這個大家是知道的。那么對于這個協(xié)議的使用,我們在前面也介紹過一部分。今天說一下NFS協(xié)議的調(diào)優(yōu)過程,這個也是比較簡單的。在下面我們用了四個步驟來完成這個過程,大家可以看一下具體的內(nèi)容,進(jìn)行一下操作。
調(diào)優(yōu)的步驟:
1、測量當(dāng)前網(wǎng)絡(luò)、服務(wù)器和每個客戶端的執(zhí)行效率.
2、分析收集來的數(shù)據(jù)并畫出圖表.查找出特殊情況,例如很高的磁盤和CPU占用、已經(jīng)高的磁盤使用時間
3、調(diào)整服務(wù)器
4、重復(fù)第一到第三步直到達(dá)到你渴望的性能
與 NFS協(xié)議性能有關(guān)的問題有很多,通??梢砸紤]的有以下這些選擇:
WSIZE,RSIZE參數(shù)來優(yōu)化NFS的執(zhí)行效能
WSIZE、 RSIZE對于NFS的效能有很大的影響.
wsize和rsize設(shè)定了SERVER和CLIENT之間往來數(shù)據(jù)塊的大小,這兩個參數(shù)的合理設(shè)定與很多方面有關(guān),不僅是軟件方面也有硬件方面的因素會影響這兩個參數(shù)的設(shè)定(例如LINUX KERNEL、網(wǎng)卡,交換機等等).
下面這個命令可以測試NFS協(xié)議的執(zhí)行效能,讀和寫的效能可以分別測試,分別找到合適的參數(shù).對于要測試分散的大量的數(shù)據(jù)的讀寫可以通過編寫腳本來進(jìn)行測試.在每次測試的時候最好能重復(fù)的執(zhí)行一次MOUNT和unmount.
time dd if=/dev/zero of=/mnt/home/testfile bs=16k count=16384
用于測試的WSIZE,RSIZE最好是1024的倍數(shù),對于NFS V2來說8192是RSIZE和WSIZE的最大數(shù)值,如果使用的是 NFS V3則可以嘗試的最大數(shù)值是32768.
如果設(shè)置的值比較大的時候,應(yīng)該最好在CLIENT上進(jìn)入mount上的目錄中,進(jìn)行一些常規(guī)操作(LS,VI等等),看看有沒有錯誤信息出現(xiàn).有可能出現(xiàn)的典型問題有LS的時候文件不能完整的列出或者是出現(xiàn)錯誤信息,不同的操作系統(tǒng)有不同的最佳數(shù)值,所以對于不同的操作系統(tǒng)都要進(jìn)行測試.
設(shè)定最佳的NFSD的COPY數(shù)目.
linux中的NFSD的COPY數(shù)目是在/etc/rc.d/init.d/nfs這個啟動文件中設(shè)置的,默認(rèn)是8個NFSD,對于這個參數(shù)的設(shè)置一般是要根據(jù)可能的CLIENT數(shù)目來進(jìn)行設(shè)定的,和WSIZE、RSIZE一樣也是要通過測試來找到最近的數(shù)值.
UDP and TCP
可以手動進(jìn)行設(shè)置,也可以自動進(jìn)行選擇.
mount -t nfs -o sync,tcp,noatime,rsize=1024,wsize=1024 EXPORT_MACHINE:/EXPORTED_DIR /DIR
UDP有著傳輸速度快,非連接傳輸?shù)谋憬萏匦?但是UDP在傳輸上沒有TCP來的穩(wěn)定,當(dāng)網(wǎng)絡(luò)不穩(wěn)定或者黑客入侵的時候很容易使NFS協(xié)議的 Performance 大幅降低甚至使網(wǎng)絡(luò)癱瘓.所以對于不同情況的網(wǎng)絡(luò)要有針對的選擇傳輸協(xié)議.nfs over tcp比較穩(wěn)定,nfs over udp速度較快.在機器較少網(wǎng)絡(luò)狀況較好的情況下使用UDP協(xié)議能帶來較好的性能,當(dāng)機器較多,網(wǎng)絡(luò)情況復(fù)雜時推薦使用TCP協(xié)議(V2只支持UDP協(xié)議).在局域網(wǎng)中使用UDP協(xié)議較好,因為局域網(wǎng)有比較穩(wěn)定的網(wǎng)絡(luò)保證,使用UDP可以帶來更好的性能,在廣域網(wǎng)中推薦使用TCP協(xié)議,TCP協(xié)議能讓NFS在復(fù)雜的網(wǎng)絡(luò)環(huán)境中保持最好的傳輸穩(wěn)定性.可以參考這篇文章:http://www.hp.com.tw/ssn/unix/0212/unix021204.asp ;
版本的選擇
V3作為默認(rèn)的選擇(RED HAT 8默認(rèn)使用V2,SOLARIS 8以上默認(rèn)使用V3),可以通過 vers= mount option來進(jìn)行選擇.
LINUX通過mount option的nfsvers=n進(jìn)行選擇.