2009-08-06 73 views
0

我有一個使用nfs掛載的gentoo無盤客戶端,看起來nfs的吞吐量似乎很慢。 iperf顯示網絡能夠推送770 Mb/s,hdparm以90 Mb/s的速度顯示服務器上的sata磁盤,但在網絡上執行dd只顯示爲10 Mb/s(約爲40 Mb/s在服務器上對第三臺機器進行相同的測試)。Linux無盤客戶端nfs吞吐量

奇怪的是,pxeboot掛載nfsver2。不知道這是否是一個問題,但其他掛載後,引導掛載爲nfsver3。真的好像它是一個配置問題的nfs的地方,但我沒有發現任何有所作爲。做rsize = 8k,wsize = 8k,noatime,async。任何人都有任何提示,或者這是10 Mb/s的真正吞吐量,我應該期待無盤客戶端?

+1

屬於serverfault.com? – drdaeman 2009-08-06 19:31:44

回答

0

有趣的是修復是什麼。裝載pxelinux nfs根目錄時,必須在pxelinux.cfg文件(而不是fstab)中設置nfs參數。在將nfs根分區設置爲nfsver3時,我獲得了很好的性能提升。然而,真正有所作爲的是去除pxelinux配置文件和fstab中的rsize和wsize參數,並讓nfs找出塊大小應該是什麼。這讓nfs的讀/寫能夠達到我預期的效果。這是我的配置和一些指標,如果它可以幫助其他人。


one ~ # nfsstat -m 
/from /dev/root 
Flags: rw,vers=3,rsize=4096,wsize=4096,namlen=255,hard,nointr,nolock,proto=tcp, 
timeo=600,retrans=2,sec=sys,addr=192.168.0.5 

/store/tv from 192.168.99.99:/store/tv 
Flags: rw,noatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,nointr,noloc 
k,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.99.99,mountvers=3,mountp 
roto=tcp,addr=192.168.99.99 

one ~ # time dd if=/dev/null of=/store/tv/test bs=16k count=10000 
10000+0 records in 
10000+0 records out 
163840000 bytes (164 MB) copied, 2.79913 s, 58.5 MB/s 

real 0m3.048s 
user 0m0.033s 
sys  0m1.983s 

one pxelinux.cfg # time dd if=/store/tv/test of=/dev/null bs=16k 
154614+1 records in 
154614+1 records out 
2533208064 bytes (2.5 GB) copied, 56.4591 s, 44.9 MB/s 

real 0m56.509s 
user 0m0.163s 
sys  0m26.802s 
0

我假設這是我們正在討論的千兆網絡; 100Mbit網絡的最大速度約爲每秒10兆字節。

對於某些事情來說,NFS並不是非常有效,但批量傳輸仍應該能夠以線速完成。您可以通過相同的網絡通過例如ftp或http傳輸文件多快?

也許交換機正在放慢速度,你有沒有嘗試用電纜直接連接盒子?