常见问题
使用远程文件共享测试 VPN 吞吐量通常不是一个好主意,原因有两个:
第一个原因是文件共享协议本身。SMB、AFP 或 NFS 等文件共享协议是为快速、可靠且延迟非常低的本地网络设计的。另一方面,互联网速度慢(至少与它的连接速度慢)、不可靠且延迟很高。为了获得真实的结果,您需要使用针对这种情况进行优化的协议,例如 HTTP 或 FTP。
第二个原因是文件共享协议的实现方式。如今,大多数文件共享使用 SMB,即 Windows 文件共享协议。Apple 有自己的该协议实现,但它远非良好。虽然 SMB 3.x 实现已经很差,但 SMB 1.x/2.x 实现(兼容模式)非常糟糕,并且由于各种原因,macOS 经常回退到这种兼容模式。在使用本地 NAS 文件共享进行测试时,我们使用 SMB 3 获得 28 MBps 的速度,而使用 SMB 1 仅为 18 MBps,与使用 AFP 获得的 50 MBps 相比。
如果您在远程端有一台 Mac,那么设置基准 HTTP 服务器非常容易。您只需打开标准应用程序“终端”(使用 Spotlight 查找它),然后运行以下命令集(每个命令都通过 Return/Enter 确认):
mkdir /tmp/www-bench
cd /tmp/www-bench
dd count=1048576 bs=1024 if=/dev/random of=1GiB.dat
php -S 0.0.0.0:8080
第一个命令创建一个新目录,第二个进入该目录,第三个创建包含随机数据的 1 GiB 数据文件,最后一个启动一个原始 HTTP 服务器,通过端口 8080 提供当前目录的内容。现在您的 VPN 用户只需在 Safari(或任何其他浏览器)中打开此地址:
http://a.b.c.d:8080/1GiB.dat
其中“a.b.c.d”是您刚刚输入上述命令的 Mac 的 IP 地址。通过观察浏览器中的传输速度,您可以很好地了解您的 VPN 的性能。当然,这受到许多因素的限制,例如本地互联网连接的速度、远程互联网连接的速度以及 VPN 网关的 CPU 功率(通常远小于 Mac 的 CPU 功率)。
要在测试后清理系统,请再次激活终端窗口并按 CTRL+C 停止 HTTP 服务器,然后运行以下两个命令:
cd
rm -r /tmp/www-bench