NFS是網絡文件系統(Network File System)的簡稱,是分布式計算系統的一個組成部分,可實現在異種網絡上共享和裝配遠程文件系統。NFS由Sun公司開發,目前已經成為文件服務的一種標准(RFC1904,RFC1813)。 其最大的功能就是可以通過網絡,讓不同操作系統的計算機可以共享數據,所以也可以將它看做是一個文件服務器。NFS文件服務器是Linux最常見網絡的服務之一。盡管它的規則簡單,卻有著豐富的內涵。NFS 服務器可以看作是一個文件服務器,它可以讓你的PC通過網絡將遠端的NFS 服務器共享出來的文件掛載到自己的系統中,在客戶端看來使用NFS的遠端文件就象是在使用本地文件一樣。
一、硬件設備的選擇
隨著計算機技術的發展,以硬盤為首的I/O設備對計算機的整體性能影響越來越大,通訊服務器(messaging/E-mail/VOD):快速的I/O是這類應用的關鍵,硬盤的I/O吞吐能力是主要瓶頸;數據倉庫:大型商業數據存儲、編目、索引、數據分析,高速商業計算等,需要具有良好的網絡和硬盤I/O吞吐能力;數據庫(ERP/OLTP等)服務器,除了需要具有強大的CPU處理能力,同時需要有很好的磁盤I/O吞吐性能;
NFS網絡文件系統性能的主要瓶頸是硬盤的I/O性能和網絡帶寬。SCSI(Small Computer System Interface,小型計算機系統接口)技術在需要高性能的網絡服務器和工作站領域卻得到了廣泛應用,現在已經成為網絡服務器的標准的接口選擇。速度從SCSI-I最初的5MBps到2005年的320MBps。內部傳輸率的高低是評價一個硬盤整體性能的決定性因素,硬盤數據傳輸率分為內外部傳輸率。通常稱外部傳輸率也為突發數據傳輸率或接口傳輸率,指從硬盤的緩存中向外輸出數據的速度。由於硬盤的內部傳輸率要小於外部傳輸率,所以只有內部傳輸率才可以作為衡量硬盤性能的真正標准。SCSI硬盤技術在內部傳輸率要性能上有更大優勢。通常在一個50個用戶的NFS網絡系統中使用10個基於RAID5級別10000rpm的SCSI硬盤可以達到較好的效果。
在服務器磁盤I/O性能之後,網絡帶寬是網絡文件系統下一個瓶頸。通常應當使用單獨的1000兆快速以太網連接NFS服務器和客戶機發送報文信息。同時確保NFS服務器和客戶機工作正常,交換機、路由器等網絡設備工作正常。圖-1是一個理想的NFS網絡拓撲結構。
圖-1 一個理想的NFS網絡拓撲結構
二、軟件環境優化
如果我們沒有很高硬件環境,可以考慮從軟件方面優化性能。
1、清理NFS服務器磁盤碎片:
不論Linux文件系統采用什麼文件格式(ext3、JFS、XFS、ReiserFS )、何種類型的硬盤(IDE 、SCSI),隨著時間的推移文件系統都會趨向於碎片化。ext3、JFS等高級文件系統可以減少文件系統的碎片化,但是並沒有消除。在繁忙的數據庫服務器中,隨著時間的過去,文件碎片化將降低硬盤性能,硬盤性能從硬盤讀出或寫入數據時才能注意到。時間長了會發現每個磁盤上確實積累了非常多的垃圾文件,釋放磁盤空間可以幫助系統更好地工作。Linux最好的整理磁盤碎片的方法是做一個完全的備份,重新格式化分區,然後從備份恢復文件。但是對於7×24小時工作關鍵任務服務器來說是比較困難的。Kleandisk是一個高效的磁盤清理工具,它能把磁盤上的文件分成不同的"組",比如把所有的"core"文件歸成一組(Group),這樣要刪除所有core文件時只要刪除這個組就行了。core文件是當軟件運行出錯時產生的文件,它對於軟件開發人員比較有用,對於其他用戶(比如電子郵件服務器)卻沒有任何意義。因此,如果沒有軟件開發的需要,見到core文件就可以將其刪除。
2、開啟硬盤DMA
現在使用的IDE硬盤基本支持DMA66/100/133(直接內存讀取)但是Linux發行版本安裝後一般沒有打開,可以/etc/rc.d/rc.local 最後面加上一行: /sbin/hdparm -d1 –x66 -c3 -m16 /dev/hda 這樣以後每次開機,硬盤的 DMA 就會開啟,不必每次手動設定。添加前後你可以使用命令:hdparm -Tt /dev/hda 來測試對比一下。
更多內容請看Linux服務器配置 操作系統 服務器優化與配置專題,或