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



















