我在我的代理服务器上启用了SSL,发现性能已经从每秒大约17,000个请求降低到每秒5k请求.我按照Netty的安全聊天示例中的代码进行操作,我认为我没有做过任何不同的事情.
我写了一个虚拟服务器,看看我是否在我的代理上犯了一些错误.在正常的http模式下运行虚拟SSL服务器每秒可以提供大约50k的请求.当我在虚拟服务器上启用SSL时,每秒降低到28k个请求.
有什么我做错了吗?有什么我想念的吗?
我正在使用JDK 6编译代码,在JDK 7u4上运行.我也在使用Netty-3.5.0.我正在使用zeusbench进行测试.测试参数为:zeusbench -n 10000 -c 100 -k -C RC4_SHA"https:///"
资料来源:http://pastebin.com/iahqr3zT
编辑1:我通过JProfiler运行虚拟服务器.管道工厂中的SSLContext.createSSLEngine调用(平均)需要55,005微秒(该平均值是从该方法的540次调用计算得出的).
channelConnected中的SslHandler.handshake调用(平均)需要46,284微秒(该平均值是从该方法的540次调用计算得出的).
我知道Netty可以对createSSLEngine的调用做些什么,但SslHandler.handshake可以更好地调整吗?它的使用时间几乎和发动机本身一样长.
小智 0
使用java加密/解密真的很慢。
为了提高性能,您不应该使用带有 java 的 SSL 实现。
有几种方法可以避免java进行SSL连接:
| 归档时间: |
|
| 查看次数: |
1548 次 |
| 最近记录: |