1. 程式人生 > >NFS傳輸速度優化

NFS傳輸速度優化

如果按mount -o nolock 192.168.1.220(假設為宿主機ip):/mnt/nfs /mnt/nfs_t 來mount ,傳輸速度可能很慢, 只有幾K到幾十K左右,所以想要獲得較快的速度就要對nfs進行優化。

  nfs優化篇

  1.設定塊大小
  mount命令的risize和wsize指定了server端和client端的傳輸的塊大小。如果沒有指定,那麼,系統根據nfs的版本來設定預設的risize和wsize大小。大多數情況是4K(4096bytes),對於nfs v2,最大是8K,對於v3,在server端設定risize和wsize的限制,最大塊大小在kernel的常量 NFSSVC_MAXBLKSIZE,該常量在usr/src/linux2.4/include/linux/nfsd/const.h.所有的2.4 的的client都支援最大32K的傳輸塊。系統預設的塊可能會太大或者太小,這主要取決於你的kernel和你的網絡卡,太大或者太小都有可能導致nfs 速度很慢。具體的可以使用Bonnie,Bonnie ,iozone等benchmark來測試不同risize和wsize下nfs的速度。當然,也可以使用dd來測試。

  #time dd if=/dev/zero of=/testfs/testfile bs=8k count=1024這是來測試nfs寫
  #time dd if=/testfs/testfile of=/dev/null bs=8k 這是測試nfs讀

  測試時檔案的大小至少是系統RAM的兩倍,每次測試都使用umount 和mount對/testfs進行掛載,通過比較不同的塊大小,得到優化的塊大小。

以下為我的測試結果對比

1.當rsize跟wsize塊為8192:磁碟的讀寫速度以及所需時間為(讀寫資料為1G)

[[email protected] public]# time dd if=/dev/zero of=/home/data/magento/public/test.dat  bs=8k count=131072
131072+0 records in
131072+0 records out
1073741824 bytes (1.1 GB) copied, 11.2095 s, 95.8 MB/s


real    0m11.220s
user    0m0.032s
sys     0m1.717s
[
[email protected]
public]# time dd if=/home/data/magento/public/test.dat  of=/dev/null  bs=8k
131072+0 records in
131072+0 records out
1073741824 bytes (1.1 GB) copied, 2.8303 s, 379 MB/s

2.當rsize跟wsize塊為16384:磁碟的讀寫速度以及所需時間為(讀寫資料為1G)

[[email protected] public]# umount -l /home/data/magento/public
[[email protected]

public]# mount -t nfs -o rw,bg,soft,rsize=16384,wsize=16384  192.168.1.98:/home/data/magento/public/media  /home/data/magento/public
[[email protected] public]# time dd if=/dev/zero of=/home/data/magento/public/test.dat  bs=8k count=131072
131072+0 records in
131072+0 records out
1073741824 bytes (1.1 GB) copied, 9.54002 s, 113 MB/s


real    0m9.930s
user    0m0.025s
sys     0m1.434s
[[email protected] public]# time dd if=/home/data/magento/public/test.dat  of=/dev/null  bs=8k
131072+0 records in
131072+0 records out
1073741824 bytes (1.1 GB) copied, 1.63804 s, 656 MB/s


real    0m1.647s
user    0m0.027s
sys     0m0.591s

3.當rsize跟wsize塊為32768:磁碟的讀寫速度以及所需時間為(讀寫資料為1G)

[[email protected] public]# umount -l /home/data/magento/public
[[email protected] public]# mount -t nfs -o rw,bg,soft,rsize=32768,wsize=32768  192.168.1.98:/home/data/magento/public/media  /home/data/magento/public
[[email protected] public]# time dd if=/dev/zero of=/home/data/magento/public/test.dat  bs=8k count=131072
131072+0 records in
131072+0 records out
1073741824 bytes (1.1 GB) copied, 6.99804 s, 153 MB/s


real    0m7.396s
user    0m0.023s
sys     0m1.378s
[[email protected] public]# time dd if=/home/data/magento/public/test.dat  of=/dev/null  bs=8k
131072+0 records in
131072+0 records out
1073741824 bytes (1.1 GB) copied, 0.50048 s, 2.1 GB/s


real    0m0.977s
user    0m0.018s
sys     0m0.487s

NFS的效能傳輸速度在逐步提升,但是實際情況還需要根據系統引數合理修改

  2.網路傳輸包的大小
  網 絡在包傳輸過程,對包要進行分組,過大或者過小都不能很好的利用網路的頻寬,所以對網路要進行測試和調優。可以使用ping -s 2048 -f hostname進行 ping,嘗試不同的package size,這樣可以看到包的丟失情況。同時,可以使用nfsstat -o net 測試nfs使用udp傳輸時丟包的多少。
  因為統計不能清零,所以要先執行此命令記住該值,然後可以再次執行統計。如果,經過上面的統計丟包很多。那麼可以看看網路傳輸包的大小。使用下面的命令:
  #tracepath node1/埠號
  #ifconfig eth0
  比較網絡卡的mtu和剛剛的pmtu,使用#ifconfig eth0 mtu 16436設定網絡卡的mtu和測試的一致。

  當然如果risize和wsize比mtu的值大,那麼的話,server端的包傳到client端就要進行重組,這是要消耗client端的cpu資源。此外,包重組可能導致網路的不可信和丟包,任何的丟包都會是的rpc請求重新傳輸,rpc請求的重傳有會導致超時,嚴重降低nfs的效能。可以通過檢視 /proc/sys/net/ipv4/ipfrag_high_thresh和/proc/sys/net/ipv4 /ipfrag_low_thresh瞭解系統可以處理的包的數目,如果網路包到達了ipfrag_high_thresh,那麼系統就會開始丟包,直到包的數目到達ipfrag_low_thresh。
  3.nfs掛載的優化

  timeo:如果超時,客戶端等待的時間,以十分之一秒計算。
  retrans:超時嘗試的次數。
  bg:後臺掛載,很有用
  hard:如果server端沒有響應,那麼客戶端一直嘗試掛載。
  wsize:寫塊大小
  rsize:讀塊大小
  intr:可以中斷不成功的掛載
  noatime:不更新檔案的inode訪問時間,可以提高速度。

  async:非同步讀寫。

  4.nfsd的個數
  預設的系統在啟動時,有8個nfsd程序。
  #ps -efl|grep nfsd
  通過檢視/proc/net/rpc/nfsd檔案的th行,第一個是nfsd的個數,後十個是執行緒是用的時間數,第二個到第四個值如果很大,那麼就需要增加nfsd的個數。
  具體如下:
  #vi /etc/init.d/nfs
  找到RPCNFSDCOUNT,修改該值,一般和client端數目一致。
  然後,重啟服務。
  #service nfs restart
  #mount -a

       5.nfsd的佇列長度

  對 於8個nfsd程序,系統的nfsd佇列長度是64k大小,如果是多於8個,就要相應的增加相應的佇列大小,具體的在/proc/sys/net /core/【rw】mem_default和/proc/sys/net/core/【rw】mem_max。佇列的長度最好是每一個nfsd有8k的大小。這樣,server端就可以對client的請求作排隊處理。如果要永久更改此值
  #vi /etc/sysctl.conf
  加入
  net.core.【rw】mem_max=數目
  net.core.【rw】mem_default=數目
  #service nfs restart


  NFS:網路檔案系統

  (NFS:Network File System)

    網路檔案系統(NFS),起初由 Sun 微系統公司進行開發,後經 IETF 擴充套件,現在能夠支援在不同型別的系統之間通過網路進行檔案共享。換言之,NFS 可用於不同型別計算機、作業系統、網路架構和傳輸協議執行環境中的網路檔案遠端訪問和共享。

     NFS 使用客戶端/伺服器架構,並由一個客戶端程式和伺服器程式組成。伺服器程式向其它計算機提供對檔案系統的訪問,其過程就叫做“輸出”。NFS 客戶端程式對共享檔案系統進行訪問時,把它們從 NFS 伺服器中“輸送”出來。NFS 傳輸協議用於伺服器和客戶機之間檔案訪問和共享的通訊,該協議還支援伺服器通過輸出控制向一組受到限制的客戶計算機分配遠端訪問特權。

     NFS 版本2,是 NFS 最早被廣泛應用的版本,起初完全運行於 UDP 協議之上,並且不保留狀態。幾大廠商擴充套件了 NSF 版本2,使之支援 TCP 傳輸。NFS 版本3整合了 TCP 傳輸。使用了 TCP 傳輸後,使得廣域網中的 NFS 應用更為靈活。在繼承了以前版本優點的基礎之上,目前,NFS 版本4在功能上有如下的改進:

   * 提高了經由 Internet 進行訪問的效能。本協議能夠很容易地通過防火牆;在等待時間較長時頻寬較小的情況下,其效能優越;且每臺伺服器所連線使用者的數目可擴充套件到相當大的數目。
   * 將許可條款內建到協議之中,安全性得到了極大的加強。在對遠端過程呼叫(RPC) PRCSEC_GSB 協議的支援上,本協議則建立在 ONCRPC 工作組的工作之上。另外,NFS 版本4支援客戶機與伺服器之間的安全對話,並要求客戶機和伺服器支援最簡單的安全計劃。
   * 支援擴充套件協議。本協議接受所支援協議的標準擴充套件,而不是打折的向後相容。

     NFS 與 UNIX 系統息息相關,儘管它可以用於任何平臺中,如 Macintosh 和 Microsoft Windows 作業系統。伺服器訊息塊協議(SMB)和國際網際網路普通檔案系統(CIFS)是 NFS 的類似協議,在 Microsoft Windows 平臺中,擁有著對等的網路檔案系統應用。


  其實就是改為mount 192.168.1.220:/mnt/nfs /mnt/nfs_t -o nolock, rsize=1024,wsize=1024,timeo=15 就能獲得較快的傳輸速度。。。

相關推薦

NFS傳輸速度優化

如果按mount -o nolock 192.168.1.220(假設為宿主機ip):/mnt/nfs /mnt/nfs_t 來mount ,傳輸速度可能很慢, 只有幾K到幾十K左右,所以想要獲得較快的速度就要對nfs進行優化。  nfs優化篇  1.設定塊大小  moun

優化pxe網啟動時tftp的傳輸速度 --- 針對pxelinux和bootmgr

mdi 兼容 enum linux環境 efi 標識 作用 區別 同學 作為一名IT人士,一般的計算機維護當然不好意思找別人。 於是自己用pxelinux搭了個網絡啟動環境,可以啟動各種WinPE,以供折騰電腦系統,刷新固件的需要。 只是一般的網絡啟動都是基

提升HTML5的性能體驗系列之五 webview啟動速度優化及事件順序解析

執行時間 很快 runt 代碼 模式 本地 技術 apk loaded webview加載時有5個事件。觸發順序為loading、titleUpdate、rendering、rendered、loaded。webview開始載入頁面時觸發loading,載入過程中如果&am

NFS部署及優化(一)

linux nfs 文件權限NFS部署及優化(一)一、NFS的基本概念NFS == network file system 網絡文件系統必然通過網絡通信來實現文件的訪問和寫入,所以做這個實驗的話最好有兩臺虛擬機配置:A:一個192.169.50.201為server端B:一個192.169.50.200

Entity Framework的啟動速度優化

映射 自帶 1-1 man 同時 找到 優化 http target 剛開始的時候沒有太在意,但是隨著系統的發布,這種初次請求,或者閑置若幹時間後第一次請求的漫長等待使得App的體驗很差,很多時候App加載好半天數據都沒過來。如果前端沒處理好,還會導致App的假死。所以就花

nfs部署和優化

nfs部署和優化nfs部署和優化一. NFS1. NFS簡介NFS全稱是network file system(網絡文件系統)NFS允許一個系統在網絡上與他人共享目錄和文件。通過使用NFS用戶和程序可以像訪問本地文件一樣訪問遠端系統上的文件。 假如有三臺機器A, B, C它們需要訪問同一個目錄目錄中都是圖片傳

VSAN故障-數據傳輸速度極慢

vsan速度慢在vsan集群中做虛擬機的拷貝或模板創建虛擬機的操作,速度奇慢無比,一個windows2012的虛擬機,克隆完成需要30多分鐘,後來經過各種檢查,發現是集群中有一臺主機的VSAN通信網卡速率協商成100M,使用esxcli命令將網卡重啟後,速度恢復正常。本文出自 “我還活著呢” 博客,謝絕轉載!

圖像的局部墑速度優化

空間 大於 ges 一個點 加法 歸一化 檢測 很大的 紋理 1、香農墑定義 信息論大師香農給出了信息隨機性的度量,稱為信息墑。信息的隨機性越大,信息墑就越大。假定事件s1,s2,s3……sn,它們出現的概率為p(s1),p(s2)……p(sn),則每個事件的平均不確定性用

webpack打包速度優化

logs compress nts spl 壓縮 clas true 線程 uglifyjs 打包速度優化 Webpack 默認提供的 UglifyJS 插件,由於采用單線程壓縮,速度頗慢 ;推薦采用 webpack-parallel-uglify-plugin 插件,其做

webpack常用loader和plugin及打包速度優化

div es2017 .cn 圖片 打包 web class load ima 優化 或 webpack常用loader和plugin及打包速度優化

Windows-速度優化的幾個方面

mage inf 分享圖片 style info HR col nbsp div One. Win+R - > cmd- > msconfig 禁用不需要的啟動項! Two. 關閉一些視覺選項 Three. 設置應用啟動快捷鍵 Win

nfs部署和優化 -2

用戶名 文件 mnt ebs -o OS 顯示 syn style 客戶端: cat /etc/passwd 顯示用戶 weifeng 500 服務端: vim /etc/exports /mnt 192.168.1.105(rw,sync,all_squash,ano

TX2上yolov3精度和速度優化方向

RR tensor 不必要 lov CA 源代碼 尺寸 和數 方向 速度優化的方向:1、減少輸入圖片的尺寸, 但是相應的準確率可能會有所下降2、優化darknet工程源代碼(去掉一些不必要的運算量或者優化運算過程)3、剪枝和量化yolov3網絡(壓縮模型---> 減枝

U盤在Win10系統下怎麽提升傳輸速度

怎麽 .html 時間 一個 磁盤 .com 所在 In tro U盤傳輸速度緩慢是很耽誤時間的,那麽有沒有什麽方法可以加快U盤的傳輸速度呢?當然,今天就來和大家分享一下在Win10系統下,提升U盤傳輸速度的一個小技巧。 Win10系統下提升U盤傳輸速度的方法 1、右鍵點擊

前端頁面加載速度優化---Ngnix之GZIP壓縮

文件的 header 寫上 反向代理 實現 怎麽 加載 stat 前端 gzip on; #開啟Gzip gzip_static on;#是否開啟gzip靜態資源 #nginx對於靜態文件的處理模塊,該模塊可以讀取預先壓縮的gz文件,這樣可以減少每次請求進行gzip壓縮的

支付寶客戶端架構解析:Android 客戶端啟動速度優化之「垃圾回收」

前言 《支付寶客戶端架構解析》系列將從支付寶客戶端的架構設計方案入手,細分拆解客戶端在“容器化框架設計”、“網路優化”、“效能啟動優化”、“自動化日誌收集”、“RPC 元件設計”、“移動應用監控、診斷、定位”等具體實現,帶領大家進一步瞭解支付寶在客戶端架構上的迭代與優化歷程。 本節將介紹支付寶 Andro

網頁載入速度優化方案

一、網頁載入流程 解析 HTML 結構 載入樣式表和外部指令碼 解析並執行指令碼程式碼(部分指令碼會阻塞頁面載入) DOM 樹構建完成(DOMContentLoaded 事件) 載入圖片等外部檔案 頁面載入完畢(load 事件) 二、方式 減少請求數量 使用雪碧圖(

iOS端啟動速度優化

應用啟動流程 iOS應用的啟動可分為pre-main階段和main()階段,其中系統做的事情依次是: 1. pre-main階段 1.1. 載入應用的可執行檔案 1.2. 載入動態連結庫載入器dyld(dynamic loader) 1.3. dyld遞迴載入應用所有依賴的dy

Eclipse執行速度優化

我的ECLIPSE執行時速度奇慢,具體表現為: 1、只要ECLIPSE啟動後,硬碟燈就狂閃,不停的讀盤; 2、釋出TOMCAT經常在0%; 3、偶爾CPU佔滿; 網上講優化的文章無數,但是總是有用的卻很少,大部分是轉載甚至是抄襲的。在借鑑各個

VS2013執行速度優化彙總

1、  工具-->選項-->環境:視覺體驗,前對勾全去掉; 2、  工具-->選項-->環境-->啟動:啟動時(P)下拉列表框中選擇:顯示空環境; 3、  工具-->選項-->文字編輯器-->C/