我有一个 NFS 服务器,通过无线网络 (n-router、b/g-client) 连接到客户端。我的传输速率非常慢,大约为1.00
。1.50 MB/s
我似乎无法弄清楚如何改善这种情况。
我尝试过,rsize/wsize
但似乎没什么区别。我的exports
服务器上的情况如下:
cat /etc/exports
<SERVER-DIR> *(rw,async,no_subtree_check)
在客户端我看到的是:
cat /proc/mounts
<SERVER-IP>:<SERVER-DIR> <CLIENT-DIR> nfs4 rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=<CLIENT-IP>,local_lock=none,addr=<SERVER-IP> 0 0
难道不能实现高达 6 倍的传输速率吗?
比较一下:有线(100Mb/s):
dd if=/dev/zero of=test bs=1M count=128
134217728 bytes (134 MB) copied, 18.5636 s, 7.2 MB/s
无线的:
dd if=/dev/zero of=test bs=1M count=128
134217728 bytes (134 MB) copied, 99.4493 s, 1.3 MB/s
答案1
NFS。通过无线。使用 ab/g 客户端(您确定您已连接到 G 速率吗?)。
你在这里将会度过一段糟糕的时光。
即使你连接的是 802.11g 的理论最大值(54Mbps),并且不RF 干扰(在 2.4GHz 频段不太可能发生),您仍然拥有理论最大值约 6.75MBps。算上协议开销、在堆栈的多个级别重新传输以及网络延迟,您应该对现在的结果感到满意。
说实话,NFS 是一种非常敏感的协议。它无法很好地处理无线连接的有损、上下行特性。在最好的情况下,您的性能会很差。使用典型的无线连接,您将残暴性能、文件损坏、挂起,甚至更糟。
如果需要通过 wifi 访问存储,请使用对网络问题更具弹性的其他协议。CIFS、AFS、Samba 等都可以很多比 NFS 更好。