我怎样才能提高服务器的SSL性能(How can I increase server SSL per

2019-09-17 18:47发布

我使我的代理服务器上的SSL,发现性能从每秒17K左右下降请求每秒5k的请求。 我跟着Netty中的安全聊天例子代码,我不认为我做不同的事情。

我写了一个虚拟服务器,看看是否我已经在我的代理犯了一些错误。 运行在正常模式的http虚设SSL服务器能够大约每秒50k的请求。 当我启用下降到每秒28K的请求的虚拟服务器上的SSL。

有什么我做错了吗? 是否有什么我失踪?

我使用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调用采用(平均)55005微秒(即平均已经从方法的调用540计算)。

所述SslHandler.handshake呼叫channelConnected花费(平均)46284微秒(即平均已经从方法540调用计算)。

我的理解没有太多的Netty可以做调用createSSLEngine,但可以在SslHandler.handshake被调整的更好呢? 几乎只要其采取的发动机本身的产生。

Answer 1:

加密/解密W / java的实在是太慢了。
你不应该使用SSL实现瓦特/ Java进行性能。
有几种方法,以避免SSL连接的Java:

  1. 配置代理服务器,盈方提供的Java服务器的SSL连接
  2. 实现SSL握手库W / OpenSSL的通过JNI使用图书馆的网状代码


Answer 2:

你可以尝试重新使用SSL会话的现有连接,这降低了SSL握手,并应给你一个总体提升。



文章来源: How can I increase server SSL performance