我猜 Atom CPU 将处理 100mbit 的 OpenVPN 流量。在负载下,您可能会发现 Atom 会比更快的 CPU 引入更多的延迟,但考虑到服务器和客户端之间的任何远距离链接的延迟,这可能并不重要。
一些不科学的测试结果,在我的带有 Atom CPU 的上网本与本地 OpenVPN 服务器之间运行数据(通过 1000mbit 网络,但上网本只有 100Mbit NIC):
dspillett@minirant:~$ time dd if=/dev/zero bs=1024 count=1048576 | nc -q 0 192.168.43.1 3333
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB) copied, 91.2072 s, 11.8 MB/s
real 1m31.227s
user 0m1.792s
sys 0m25.874s
dspillett@minirant:~$
dspillett@minirant:~$ time dd if=/dev/zero bs=1024 count=1048576 | nc -q 0 192.168.44.1 3333
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB) copied, 113.082 s, 9.5 MB/s
real 1m53.107s
user 0m1.468s
sys 0m15.337s
dspillett@minirant:~$
除了一些人已经运行并发布到他们的网站上的一些非正式测试之外,我不知道任何已发布的基准测试。有趣的是,加密代码 (OpenSSL) 似乎不是世界上最优化的,但它似乎也不是一头猪。一个简单的基准测试是在 LAN 上的几台 PC 上设置 OpenVPN 服务器和客户端,然后在它们之间移动一些流量,同时观察两者的 CPU 负载。
我可以告诉你,我能够使以 54Mbps 的加密流量运行的 802.11g 链路饱和,而无需在一台垃圾 Pentium II 400Mhz 机器(我的家庭 LAN 上的 OpenVPN 服务器)上最大化 CPU。这让我觉得 Geode 也可能做到这一点。
OpenSSL(以及因此 OpenVPN)也支持一些硬件卸载解决方案。一种低端解决方案是威盛“挂锁”,它包含在一些威盛芯片组中。这也可能是一种降低 CPU 要求的方法。看:
我猜 Atom CPU 将处理 100mbit 的 OpenVPN 流量。在负载下,您可能会发现 Atom 会比更快的 CPU 引入更多的延迟,但考虑到服务器和客户端之间的任何远距离链接的延迟,这可能并不重要。
一些不科学的测试结果,在我的带有 Atom CPU 的上网本与本地 OpenVPN 服务器之间运行数据(通过 1000mbit 网络,但上网本只有 100Mbit NIC):
其中 192.168.43.1 是在本地网络上看到的服务器,而 192.168.44.1 是通过该网络上的 OpenVPN 链接看到的同一台机器。VPN 处于桥接模式,使用基于 UDP 的连接。
htop 显示在 VPN 测试期间 CPU 的负担比 user+sys 计数的要多,
time
因为time
只计算dd
的 CPU 活动而不是 VPN 的活动。在整个测试过程中,它显示 cpu0 约为 70%,cpu1 约为 30%,这表明 CPU 在该测试中接近可通过 OpenVPN 传输的极限(Atom 是单核但具有超线程)——尽管它仍然可以管理以 9.5Mbyte/sec 的速度随机播放。作为 VPN 增加的延迟的指示(这将是 CPU 工作加密数据的开销和隧道方法的开销的组合),使用小(默认,56 字节有效负载)数据包进行 ping:
和更大的(2048 字节有效负载):
显然,当 VPN 处理多个显示真实流量模式的连接时,您会得到不同的结果,因此您可能需要自己执行一些更详细的测试。您可以通过一些调整来挤出更多的东西——我的 OpenVPN 集几乎是在开箱即用的默认设置下运行的。
除了一些人已经运行并发布到他们的网站上的一些非正式测试之外,我不知道任何已发布的基准测试。有趣的是,加密代码 (OpenSSL) 似乎不是世界上最优化的,但它似乎也不是一头猪。一个简单的基准测试是在 LAN 上的几台 PC 上设置 OpenVPN 服务器和客户端,然后在它们之间移动一些流量,同时观察两者的 CPU 负载。
我可以告诉你,我能够使以 54Mbps 的加密流量运行的 802.11g 链路饱和,而无需在一台垃圾 Pentium II 400Mhz 机器(我的家庭 LAN 上的 OpenVPN 服务器)上最大化 CPU。这让我觉得 Geode 也可能做到这一点。
OpenSSL(以及因此 OpenVPN)也支持一些硬件卸载解决方案。一种低端解决方案是威盛“挂锁”,它包含在一些威盛芯片组中。这也可能是一种降低 CPU 要求的方法。看:
我已经设置了 2 个 OpenVPN 服务器,并且都运行良好,我为每个服务器创建了 3 个客户端,并且它们可以很好地合作。
一个是基于 RasPi 3 的,具有 32Gb 非常快的 Micro SD 和额外的 32Gb USB 密钥,到目前为止一切都很好。
另一台是运行 UBUNTU 的 4Gb Ram 和 500Gb HD 的笔记本电脑,这台运行也很好。
我的结论是这样的;如果您在我的案例 3 中没有很多客户,那么您真的不需要大量的数字运算野兽,因此设置它的成本很低。
我的 Internet 下载速度为 60Mb/s,上传速度为 16Mb/s,这就是为什么我有 3 个客户端,即每个客户端约 5Mb/s。
干杯
暹罗
我会推荐威盛纳米。通过 VIA Nano L2200 @ 1600MHz,我能够推动 330 Mbits。威盛 nano 的价格范围与 Atom 相同,并且支持硬件 AES。要获得这样的性能,您需要从 AES 更改河豚并将以下内容添加到 openssl.conf:
以下是主板/CPU 组合示例的链接:http: //www.via-itx.com/via-vb8001.html