检查 Samba 传输瓶颈

检查 Samba 传输瓶颈

这是有关我的家庭网络设置的问题。

我有一台 NAS,通过千兆以太网连接到交换机,交换机通过 100mbit 以太网连接到路由器。然后我有我的 Mac,通过无线 N 连接到我的路由器。

现在,我通过 samba 向 NAS 传输文件。我的 NAS 规格很差,只有 64mb RAM 和一个 powerpc cpu。

我的问题是,我的传输速度是受 wifi 限制,还是受 NAS 规格限制?如果我直接连接到 100mbit 路由器怎么办?或者 1gbit 交换机怎么办?那么限制因素是什么?

我想知道一种可以检查这一点的方法,最好是通过 NAS 上的 Linux 工具来检查我是否已将 CPU 或 RAM 最大化?如果我正确地执行此操作,我将如何准备一份包含真实数字的报告?

这主要是出于我的好奇心(并且想知道下一步需要把钱花在哪里)。

答案1

因此基本上你有:

Mac <-- 无线 N --> 路由器 <-- 100MbE --> 交换机 <-- GbE --> NAS

您可以在此处检查的主要内容是网络的流量能力和设备的文件复制能力。有许多实用程序可以快速有效地解决每个问题的特征。

网络

有一个名为的跨平台程序iperf,它利用客户端-服务器模型来评估网络带宽等。您需要下载和/或编译 iperf 副本到 NAS 盒和 Mac。在这种情况下,您的 NAS 盒充当您的服务器,因此您需要将 iperf 作为服务器启动:iperf -s。在 Mac 上,您需要运行NAS 盒的 IPiperf -c <ip>地址ip。这应该可以让您估计 Mac 和 NAS 系统之间的网络配置的原始功能。

NAS 文件复制

我注意到 Synology 407e 背面有两个 USB 端口。要严格评估 NAS 系统的文件复制功能,您可以做的一件事是连接一个快速的外部硬盘驱动器,最好是固态驱动器,然后将文件复制到外部驱动器和 Samba 共享。为此,您可以简单地复制大文件并估计传输所需的时间并将其除以批量传输大小。或者您可以使用诸如 之类的实用程序,fio它可作为文件 I/O 基准运行。fio是一个功能丰富的实用程序,可提供有关其执行的 I/O 操作的全面统计信息。结合 Chris 的建议,您可以top在文件传输过程中运行以查看实时 CPU 和内存使用情况。其他一些不错的系统统计实用程序是vmstatdstat

概括

如果您的网络、NAS 盒、Mac、交换机和路由器均按规格运行,则 NAS 中的一个或多个硬盘驱动器可能已损坏,或者 RAID 阵列已损坏。您的网络也可能存在延迟问题,可能需要进一步调查。

工具

  • 菲奥
  • 防火墙
  • Wireshark
  • 统计信息
  • 路由追踪

报告准备

通常,此类报告会关注带宽(MB/s)、吞吐量(IO/s)和延迟(ms)。传输文件越小(512 字节),吞吐量就越高,但带宽越差,延迟也越小。文件大小 >64KB 越大,带宽越高,吞吐量越低,延迟也越长,具体取决于传输大小和介质速度。

来源:某科技公司内部 14 个月的存储应用基准测试。

答案2

瓶颈通常总是网络。无线总是比有线慢。要进行测试,请将您的计算机直接连接到 NAS,然后连接到交换机,然后连接到路由器,然后通过无线方式,并在您的计算机上使用这些命令:

time cp -r /nas/representative/directory /tmp # will print the durantion
rm -r /tmp/directory

这将对每个连接的复制进行计时,您可以从那里进行判断。

答案3

您现在看到的传输速度是多少?如果约为 10MBps,那么 100Mb 连接的速度就是最快的。这可能是您网络中速度最慢的连接,尽管这只是最佳猜测。

该设备本身可能能够达到 100MBps。Power-PC 架构绝对没有问题。64MB RAM 对于专用设备来说也足够了。我知道一些 Power-PC SoC 可以达到盒子背面的 1000Mb 以太网连接的几倍。

阵列中的磁盘驱动器或磁盘控制器也可能限制了性能。瓶颈可能出现在很多地方。如果不了解您的设置,就无法做出合理的猜测。

答案4

检查 NAS 以太网 NIC 的链接状态。它可能处于 100Mbps 半双工模式。有些芯片有时无法使用千兆交换机自动正确检测链接速度。我使用一些 Realtek 芯片时就遇到过这种情况。

只需执行ethtool eth0或任何 NIC 名称即可。也许就是这样。要强制千兆速度,请使用ethtool -s eth0 speed 1000 duplex full

相关内容