優(yōu)化NFS的過程
在NFS服務(wù)中,我們需要考慮很多,隨著網(wǎng)絡(luò)的用戶基礎(chǔ)越來越龐大,網(wǎng)絡(luò)資源漸漸復(fù)雜緊張。我們都在想方設(shè)法來優(yōu)化我們的設(shè)施。現(xiàn)在我們就來談?wù)剝?yōu)化NFS的相關(guān)內(nèi)容。
優(yōu)化NFS
調(diào)優(yōu)的步驟:
1、測量當(dāng)前網(wǎng)絡(luò)、服務(wù)器和每個(gè)客戶端的執(zhí)行效率.
2、分析收集來的數(shù)據(jù)并畫出圖表.查找出特殊情況,例如很高的磁盤和CPU占用、已經(jīng)高的磁盤使用時(shí)間
3、調(diào)整服務(wù)器
4、重復(fù)第一到第三步直到達(dá)到你渴望的性能
與NFS性能有關(guān)的問題有很多,通常可以要考慮的有以下這些選擇:
WSIZE,RSIZE參數(shù)來優(yōu)化NFS的執(zhí)行效能
WSIZE、RSIZE對于優(yōu)化NFS的效能有很大的影響.
wsize和rsize設(shè)定了SERVER和CLIENT之間往來數(shù)據(jù)塊的大小,這兩個(gè)參數(shù)的合理設(shè)定與很多方面有關(guān),不僅是軟件方面也有硬件方面的因素會影響這兩個(gè)參數(shù)的設(shè)定(例如LINUX KERNEL、網(wǎng)卡,交換機(jī)等等).
下面這個(gè)命令可以測試NFS的執(zhí)行效能,讀和寫的效能可以分別測試,分別找到合適的參數(shù).對于要測試分散的大量的數(shù)據(jù)的讀寫可以通過編寫腳本來進(jìn)行測試.在每次測試的時(shí)候最好能重復(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è)置的值比較大的時(shí)候,應(yīng)該最好在CLIENT上進(jìn)入mount上的目錄中,進(jìn)行一些常規(guī)操作(LS,VI等等),看看有沒有錯(cuò)誤信息出現(xiàn).有可能出現(xiàn)的典型問題有LS的時(shí)候文件不能完整的列出或者是出現(xiàn)錯(cuò)誤信息,不同的操作系統(tǒng)有不同的最佳數(shù)值,所以對于不同的操作系統(tǒng)都要進(jìn)行測試.
設(shè)定最佳的NFSD的COPY數(shù)目.
linux中的NFSD的COPY數(shù)目是在/etc/rc.d/init.d/nfs這個(gè)啟動文件中設(shè)置的,默認(rèn)是8個(gè)NFSD,對于這個(gè)參數(shù)的設(shè)置一般是要根據(jù)可能的CLIENT數(shù)目來進(jìn)行設(shè)定的,和WSIZE、RSIZE一樣也是要通過測試來找到最近的數(shù)值.
UDP and TCP
可以手動進(jìn)行設(shè)置,也可以自動進(jìn)行選擇.
mount -tNFS-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)定或者黑客入侵的時(shí)候很容易使NFS的 Performance 大幅降低甚至使網(wǎng)絡(luò)癱瘓.所以對于不同情況的網(wǎng)絡(luò)要有針對的選擇傳輸協(xié)議.nfs over tcp比較穩(wěn)定,nfs over udp速度較快.在機(jī)器較少網(wǎng)絡(luò)狀況較好的情況下使用UDP協(xié)議能帶來較好的性能,當(dāng)機(jī)器較多,網(wǎng)絡(luò)情況復(fù)雜時(shí)推薦使用TCP協(xié)議(V2只支持UDP協(xié)議).在局域網(wǎng)中使用UDP協(xié)議較好,因?yàn)榫钟蚓W(wǎng)有比較穩(wěn)定的網(wǎng)絡(luò)保證,使用UDP可以帶來更好的性能,在廣域網(wǎng)中推薦使用TCP協(xié)議,TCP協(xié)議能讓優(yōu)化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)行選擇.