FreeBSD:通过GBit-Ethernet的Samba性能

我正在使用带有RAID-Z的FreeBSD NAS。

我可以从ZFS磁盘读取〜300MB / s到/ dev / null,但在SMB到Windows 7(Samba 3.5.6)上只能获得大约50MB / s的GBit-Ethernet。 两个系统都有Intel-PCIe-NIC,并直接连接。

Samba被configuration为使用AIO,我已经尝试调整TCP / IP:

kern.ipc.maxsockbuf=16777216 net.inet.tcp.sendspace=1048576 net.inet.tcp.recvspace=1048576 net.inet.tcp.sendbuf_max=8388608 net.inet.tcp.recvbuf_max=8388608 net.inet.tcp.delayed_ack=0 

任何想法是什么造成瓶颈? 我认为链接应该很容易处理100 MB / s。

好的,实际上有两个问题:

  1. 巨型框架毕竟不是那么无关紧要的。 这给了我一个巨大的性能提升。
  2. 我的SSD磁盘可以很容易地写入100 MB / s,但是我最近开启了NTFS压缩,这造成了问题(写入时第二长档)。 TRIM优化解决了这个问题。

要testing你的驱动程序的电缆和带宽,你应该取出硬盘(和防病毒的Windows窗口)写入限制。

所以你可以:

  • 在Windows上创build一个RAM磁盘,下载/推送文件到它上面

  • 创build一个samba共享并将其redirect到/ dev / null,并从windows框中将文件推送到其中

  • 运行跨平台带宽实用程序(可能是Windows平台上的英特尔NIC实用程序的一部分)。

如果有人知道跨平台的windows-unix基准工具,请让我/我们知道:-)

是的,你需要确保你的nics和switch上有相匹配的巨帧(2048字节似乎是'标准')。 千兆stream的标准TCP / IP数据包大小有点小。