网络通信 频道

OpenVPN性能测试:单纯路由为何慢?

   总结:OpenVPN主要使用的资源是CPU

    前面测试了一些OpenVPN的传输性能数据,实际情况中,OpenVPN还有一些需要测试的性能,比如新建连接速率,并发连接率等等,但这些东西需要模拟OpenVPN专用的客户端协议,现在还做不了。而这次测试并没有考虑如正常通信过程中的其他用户新建连接消耗等因素,因而性能可能略高于实际使用情况。

    就本测试而言,可以有以下几个结论:

  1, OpenVPN主要使用的资源是CPU,PIII 1G的CPU并不足以满足百兆网络需求。
  2, OpenVPN相对于普通Linux路由转发性能下降很多,小包转发能力(12000:47000)只相当于Linux纯路由的25%左右。而中大包对Linux路由器来说瓶颈已经不是CPU,而是百兆网卡了。
  3,?OpenVPN整体资源消耗中,加解密部分占用部分少,各种大小的包使用与不使用加密算法对应的数据分别为:
   
  不同包大小(udp data length)包及不同VPN加解密算法下的OpenVPN包转发性能NoneAES-128-CBC18135001200051212000100001400800065004,? 一条与结论3相关的扩展结论是有关加密卡的使用:我并不认为加密卡能大幅提高OpenVPN性能,主要有两点原因:
  a,加解密部分占OpenVPN整体CPU消耗比例不大;

  b,厂家支持Linux/OpenSSL的加密卡驱动运行在内核态,使用加密卡意味着更多的内核用户空间内存拷贝,特别对于小包而言,使用加密卡可能比CPU更慢;

  5,OpenVPN目前缺乏对多CPU支持,因而想使用多CPU来提高VPN性能不可行的,综合3、4、5,想提高OpenVPN性能最简单的办法是提高单个CPU运算能力,比如PIII 1G换P4 3G。

  6,最后,稳定性,这里没有列出OpenVPN稳定性的测试数据,但据我测试,这个东西做的还好,我连续满负荷运行一个星期至少没有问题。
 

5
相关文章