• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 深入理解Linux網絡文件系統 (3)

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    對于NFS文件系統,還有一些可以使用的獨特選項,使用的時候可以和一般選項混合使用,順序任意。表3列出了NFS客戶機可用的部分掛接選項。 請注意,NFS客戶機和 服務器 的選項并不一定完全相同,而且有的時候會有沖突。比如說服務器以只讀的方式導出,客戶端卻



    對于NFS文件系統,還有一些可以使用的獨特選項,使用的時候可以和一般選項混合使用,順序任意。表3列出了NFS客戶機可用的部分掛接選項。

    請注意,NFS客戶機和服務器的選項并不一定完全相同,而且有的時候會有沖突。比如說服務器以只讀的方式導出,客戶端卻以可寫的方式mount,雖然可以成功mount上,但嘗試寫入的時候就會發生錯誤。一般服務器和客戶端配置沖突的時候,會以服務器的配置為準。

    NFS性能優化和測試

    1.同步或異步寫入

    了解了NFS配置的各種選項以后,再來看看各選項對性能及安全性的影響。Server端同步寫入(sync)能提供較好的穩定性,但會減慢磁盤的速度。在高負載的服務器上,應用程序會經?;ㄙM大量的時間等待寫入完成。異步寫入(async)是服務器不把數據立即寫入磁盤,而先將其保存到內核內存(緩沖區)中,計劃在后邊的某個時刻寫入,迅速向客戶機返回寫入成功的信息。這種方法大大地提高了性能,但卻犧牲了可靠性,如果系統在將緩沖區中的內容寫入磁盤之前崩潰,則數據會永遠丟失。

    NFS客戶端也可以采用異步寫入的方式,在客戶端緩存用戶進程寫入的數據,Linux的缺省方式如此。這種方法使得客戶機的速度更快,當客戶機崩潰時只丟失該客戶端的數據。顯而易見,客戶端異步寫入的風險比服務端異步寫入的風險要小。鑒于Linux是個相當穩定的系統,為了得到比較好的NFS性能,值得采用客戶端異步寫入的辦法。

    2.選擇TCP還是UDP

    早期,Sun公司曾將NFS v2設計成為只使用UDP協議,主要原因是當時機器的內存、網絡速度和CPU的影響,不得不選擇對機器負擔較輕的方式。而到了NFS v3, Sun公司選擇了TCP協議作為缺省的傳輸方式。在Linux上,UDP協議是缺省使用的協議。作為服務器而言,別無選擇。但作為客戶端,可以使用TCP協議和其它使用TCP的Unix NFS服務器互連。

    3.NFS性能測試

    通常使用測試硬盤讀寫速度的方法來測試NFS的讀寫速度,但要注意以下幾點:

    ◆ 保證主機和網絡工作正常,集線器、交換機、路由器等網絡設備工作正常;

    ◆ 分別在網絡安靜、普通和繁忙的時候進行測試,真實地了解實際狀況和理想狀況,以及最壞的狀況;

    ◆ 沒有必要為提高少許的性能而花費更多的精力。

    基本測試可以用ping工具來檢查網絡狀況,分別從服務器ping客戶機,以及從客戶機ping服務器。如果沒有非對稱路由的問題,這兩種方法的結果應該相近。如果丟包率小于5%,就會造成NFS的性能不良。

    測試程序用下面命令就可以完成:



    time dd if=/dev/zero of=nfs.dat bs=4k count=4098


    這個命令意思是在nfs.dat文件里寫4098個4KB的塊,也就是一個16MB的文件,也可以根據需要改變命令的參數, 但要注意每次實驗時使用不同的文件名,否則又會和緩沖有關。

    可能返回的結果如下:



    4098+0 records in4098+0 records outreal 0m23.984s user 0m0.260ssys 0m4.080s


    這里主要關心的是real的時間,上面的實驗結果表明在NFS上寫一個16MB的文件花了23.984秒,在改變導出選項和mount選項以后重復這個實驗,就能初步確定各個選項對性能的影響。
     

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>