我曾尝试自己解决这个问题,但我已到了需要您的帮助和/或鼓励的地步。
我有一个小型家庭网络。主要组件包括
- 2 台运行 OS X Yosemite (10.10.4) 的 Mac
- 1 iMac 有一个千兆以太网端口
- 1 MBP 具有 Thunderbolt 以太网适配器,可以作为千兆以太网运行
- 两款 Mac 都配有运行 802.11n 的无线网卡
- 1 FiOS 网关(光纤互联网)/路由器/无线路由器
- 以太网端口是千兆的,但 Verizon 的固件将每个端口的最大数据包限制为 1500 MTU
- WiFi 是双频 2.4GHz/5GHz 天线;5GHz 可以处理 802.11ac
- 1 Synology DS1010+ 设置为 RAID 6
- NAS 有两个 1Gb 以太网端口,可以设置为巨型数据包
- 所有 5 个驱动器均为 7200RPM
- 它提供大型媒体文件服务,例如 Raw 数字文件、电影、iTunes 媒体库等。
- 以太网连接的打印机和各种无线设备实际上并不是这个问题的因素,因为我最关心的是 NAS 和 Mac 之间的连接和性能。
- 所有以太网连接均采用短距离 Cat 6A 电缆(最长 6 或 8 英尺,大多数为 3 英尺),可以轻松处理带宽。
将 NAS 和 2 台 Mac 连接到路由器的以太网端口后,我发现性能相当差。据传,在最佳状态下,我认为传输速率不会超过 10MB/s,而且很多时候它可以在 100 KB 的范围内运行。NAS 性能监视器上的内存读数似乎不会太过吃力,所以这应该不是问题。快速在 Google 上搜索 5 磁盘 RAID 6 的平均性能,会发现 Tom's Hardware 的一份报告,其中五磁盘 RAID 6 阵列的平均读取传输速率基准约为 220MB/s,尽管这与我的设置不同...现在,如果速度能减半,我会很兴奋,因为这将是我目前看到的速度的一个数量级的提升。
我希望尝试通过将 MTU 设置为 9000 来使用巨型数据包,看看是否可以提高传输速率,但由于 FiOS 网关将 MTU 限制为 1500,即使我能够在 Mac 和 DS1010+ 上将 MTU 设置为 9000,但由于 MTU 不匹配,它会导致正常互联网流量出现问题,并出现数据包丢失。
由于我的互联网上传/下载速度只有 25Mb,我认为如果让 Mac 与 FiOS 网关进行无线通信,并尝试使用以太网找到解决方案,让 Mac 和 NAS 直接相互通信,则不会牺牲任何明显的性能。如果它成为网络流量的瓶颈,我想我可以利用 Thunderbolt 并添加两个 Thunderbolt 转以太网适配器,并保持我现在的以太网连接用于常规流量,以将无线带宽严格用于无线专用设备。
我的想法是购买一台 Netgear ProSAFE GS108Tv2 千兆智能交换机,看看能否将 Mac 和 NAS 连接为 VLAN(我不太清楚该怎么做),将端口设置为 1000baseT 和 MTU 9000,并通过交换机上的 VLAN 路由所有磁盘 I/O。我认为我可以将这三个设备上的以太网 IP 地址设置为不同的子网,然后通过使用设置为 9000 MTU 的端口的静态 IP 进行安装来连接到 NAS 卷。但现在我犹豫了,我不确定这是否可行或是否是继续下去的方法。
以下是我想要了解的内容
- 是否有人认为这个想法可能行得通,并且我可以看到 NAS 和 Mac 之间的磁盘 I/O 有所改善,或者我只是不明白这些东西是如何组合在一起的?
- 有没有更好的解决方案,而不需要采用非常昂贵的选择?
- 我目前用于此解决方案的预算已经基本用完,我想尝试找到一种适用于我当前硬件的解决方案。我已经有了交换机,因此这已计入计算中。
- 我想看看是否有办法让交换机与路由器建立上行链路,以便 Mac 和 NAS 可以通过同一个端口向路由器发送 1500 个 MTU 数据包用于网络 I/O,并相互发送 9000 个 MTU 数据包用于磁盘 I/O,或者我是否必须使用单独的端口来隔离流量?
- 如果我使用额外的 Thunderbolt 转以太网适配器,我可以让所有六个端口(每台 Mac 2 个,NAS 上 2 个)通过交换机,将三个端口设置为 9000 MTU 子网,将 3 个端口设置为 1500 MTU 子网,然后让路由器上行链接到交换机,这样即使有不同大小的数据包通过交换机,所有流量也可以流过交换机吗?
目前,我对网络的了解已经远远超出了我的能力范围,我不确定什么是可能的,什么是不可能的,如果可能的话,如何实现。我不怕撸起袖子调整系统设置;我已经在计算机上设置了静态租用 DHCP、静态 IP,还实现了 MAC 地址过滤,但目前我不确定我认为应该可行的事情是否真的可行。目前,任何建议都将不胜感激。
谢谢
更新
这是使用 iperf3.0.11 进行的测试。它直接通过网关路由器端口运行。我还没有设置交换机,因此在网络上直接运行测试会更容易。
192.168.1.100$ iperf3 -s -p 5201
192.168.1.102$ iperf3 -c 192.168.1.100 -i 1 -t 20 -w 2M -p 5201
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.102, port 59693
[ 5] local 192.168.1.100 port 5201 connected to 192.168.1.102 port 59694
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 111 MBytes 932 Mbits/sec
[ 5] 1.00-2.00 sec 111 MBytes 934 Mbits/sec
[ 5] 2.00-3.00 sec 111 MBytes 935 Mbits/sec
[ 5] 3.00-4.00 sec 111 MBytes 935 Mbits/sec
[ 5] 4.00-5.00 sec 111 MBytes 935 Mbits/sec
[ 5] 5.00-6.00 sec 111 MBytes 935 Mbits/sec
[ 5] 6.00-7.00 sec 111 MBytes 935 Mbits/sec
[ 5] 7.00-8.00 sec 112 MBytes 937 Mbits/sec
[ 5] 8.00-9.00 sec 111 MBytes 935 Mbits/sec
[ 5] 9.00-10.00 sec 111 MBytes 935 Mbits/sec
[ 5] 10.00-11.00 sec 111 MBytes 935 Mbits/sec
[ 5] 11.00-12.00 sec 111 MBytes 934 Mbits/sec
[ 5] 12.00-13.00 sec 112 MBytes 937 Mbits/sec
[ 5] 13.00-14.00 sec 111 MBytes 935 Mbits/sec
[ 5] 14.00-15.00 sec 111 MBytes 935 Mbits/sec
[ 5] 15.00-16.00 sec 112 MBytes 936 Mbits/sec
[ 5] 16.00-17.00 sec 112 MBytes 937 Mbits/sec
[ 5] 17.00-18.00 sec 111 MBytes 935 Mbits/sec
[ 5] 18.00-19.00 sec 111 MBytes 935 Mbits/sec
[ 5] 19.00-20.00 sec 111 MBytes 935 Mbits/sec
[ 5] 20.00-20.01 sec 872 KBytes 954 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-20.01 sec 2.18 GBytes 935 Mbits/sec sender
[ 5] 0.00-20.01 sec 2.18 GBytes 935 Mbits/sec receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
这样斯皮夫据说,瓶颈可能不在于以太网。因此,NAS 可能是罪魁祸首……当然,他们的支持页面基本上将问题归咎于网络流量,并没有真正解决如何从服务器中获得更好的性能或杀死所有不必要运行并占用内存的垃圾进程。或者可能是 WD Green 驱动器……仍然没有解决方案,但至少可能不是以太网。
更新 2
以下是使用上述设置的一些其他测试信息。创建了一个 2GB 的测试文件,并使用通过以下方式安装的驱动器从命令行执行文件传输中小企业并使用FTP。
Using smb
Load to NAS
$ mkfile -n 2g largetestfile
$ mv -v largetestfile /Volumes/network_attached_storage 2.15GB file
- 336s Averaged Transfer Rate: 6.4MB/s or 51.2Mbps
Download from NAS
mv -v /Volumes/network_attached_storage/largetestfile ./Downloads/ 2.15GB file
- 40s Average Transfer Rate: 53.75MB/s or 430Mbps
Using ftp
Load to NAS
$ mkfile -n 2g largetestfile
ftp> bin
ftp> hash
ftp> put largetestfile
2147483648 bytes sent in 01:06 (30.74 MiB/s) or ~246Mbps
Download from NAS
Test 1 (forgot to enter bin command prior to download)
ftp> get largetestfile
2147483648 bytes received in 00:42 (48.01 MiB/s) or 384.08Mbps
Test 2 (Using bin command)
ftp> bin
ftp> get largetestfile
2147483648 bytes received in 00:21 (93.97 MiB/s) or 751.73Mbps
尽管中小企业下载速度足够了,上传速度却差强人意。我以为这可能与数据写入 RAID 的方式有关,但当您通过 FTP 上传时,速度快了 7 倍以上,尽管仍然比下载速度慢很多。
答案1
将 Mac 插入千兆交换机(路由器上的 LAN 端口应该没问题)。在两者之间运行 IPerf 2.0.x,看看能得到什么。无需费心,它应该能达到 930+ 兆比特/秒。
如果 IPerf TCP 吞吐量确实处于该范围内,则表明问题超出了以太网级别。问题可能是您使用的文件传输协议(或远程文件系统协议),或者是该协议的客户端或服务器代码实现不佳。
Apple 曾表示 SMB2(以及后续版本...现在是 v3.x)是未来趋势。请确保您的 NAS 支持该协议,并通过该协议(而非 AFP 或旧版 SMB)安装它。