每当我从Samba服务器读取一个大文件时,我的传输速率大约为40 MB /秒.如果我再次读取同一个文件,速度突然升高到70 MB /秒.
为什么我第一次没有达到70 MB /秒?磁盘可轻松执行高达95 MB /秒的速度. Samba是否必须将整个文件缓存在RAM中才能获得性能?
在将文件写入服务器时,我每次都获得95 MB /秒,差别很大.
我已经尝试设置一些套接字选项(TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF = 65535 SO_RCVBUF = 65535),但它们似乎没有做太多帮助.
注意:磁盘是在软件RAID 1中配置的2x1TB Samsung Spinpoint F1 7200 RPM.
更新:似乎客户端与服务器这个问题一样多,如果不是更多的话.我正在使用我可靠的老总指挥官,这些天似乎太老了.当我使用Windows资源管理器复制文件时,甚至可以非常快速地读取未缓存的文件.谢谢你的帮助.
解决方法
到目前为止,所有答案都与光盘相关,而不是与RAID配置相关.也许本指南的问题19和4可以帮助您:
Software RAID HOWTO.
另一件事是网络方面.你的网卡上是否启用了TOE?
最后一件事:您是否检查过您的瓶颈不在客户端?可能是您的FTP客户端在RAM中保留的数据多于CIFS服务.这可能是FTP更快的原因之一.