我刚安装了一个服务器,它通过NFS将HTTP视频流文件发送到Web服务器,我想确保我已经优化了传输速度.但我不知道什么样的读/写速率是典型的,所以我不知道我是否已达到接近最大值.我知道wsize和rsize参数很重要,但我不知道它们的默认值以及它是否值得改变它们.
根据关于NFS的sourceforge文章,我使用以下方法测试了写入速度:
@H_502_4@time dd if=/dev/zero of=/mnt/data/video/testfile bs=16k count=16384我的写入速率为48MB / s.
我测试了很多次(卸载/安装以清除缓存),这个速度相当一致.
我测试了读取速度:
@H_502_4@time dd if=/mnt/data/video/testfile of=/dev/null bs=16k并获得117MB / s的读取速率
以太网交换机和所有电缆都适用于1Gb / s,两台机器上的NIC都设置为使用巨型帧(MTU = 9000),而在/ etc / exportfs中我设置了异步选项 – 速度对我来说比完美更重要数据的完整性.这两款机器都是相当标准的HP Proliant,带有7.2K SATA驱动器(3G在一个,6G在另一个上).两台机器都使用Linux 2.6.18.发送文件的机器运行CentOS 5.5,接收它们的机器运行RHEL 5.4(Tikanga).
我希望有人测试了许多不同的系统,可以说上述数字是否是NFS数据传输的典型值,或者是否有足够的空间来增加它们.
解决方法
亚当,在我看来,你是在正确的球场.
Blocksforge文章暗示,Blocksize非常重要.
您不太可能达到110-120MB / s的网络线速(1 Gb,即位不是字节).
对于观众来说,这篇文章很棒:http://nfs.sourceforge.net/nfs-howto/ar01s05.html
当然有一些转移块的开销,得到响应.我们在10 Gb以太网上进行了测试,但速度并不快.但从理论上讲,我们可以与更胖的管道并行运行更多的NFS.