FreeBSD:GBit 以太网上的 Samba 性能

FreeBSD:GBit 以太网上的 Samba 性能

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

我可以从 ZFS 磁盘读取 ~300MB/s 的数据到盒子上的 /dev/null,但通过 GBit-Ethernet 使用 SMB 到 Windows 7 (Samba 3.5.6) 的速度只有大约 50MB/s。两个系统都有 Intel-PCIe-NIC 并直接连接。

Samba 配置为使用 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

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

  1. 毕竟巨型帧并不是那么不重要。它极大地提高了我的性能。
  2. 我的 SSD 磁盘可以轻松写入 100 MB/s,但我最近打开了 NTFS 压缩,这带来了问题(写入时长时间停顿)。TRIM 优化解决了这个问题。

答案2

要测试驱动程序的电缆和带宽,您应该取出硬盘(以及 Windows 系统的防病毒软件)的写入限制。

因此您可以:

  • 在 Windows 机器上创建一个 RAM 磁盘,并将文件下载/推送到其中

  • 创建 Samba 共享并将其重定向到 /dev/null,然后从 Windows 框中将文件推送到其中

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

如果有人知道跨平台的 Windows-Unix 基准测试工具,请告诉我/我们:-)

是的,您需要确保您的网卡和交换机上有匹配的巨型帧(2048 字节似乎是“标准”)。标准 TCP/IP 数据包大小对于千兆流来说有点小。

相关内容