【问题标题】:Huge performance different between HTTP and HTTPS?HTTP 和 HTTPS 之间的巨大性能差异?
【发布时间】:2014-11-24 05:44:44
【问题描述】:

我正在测试来自 netty 示例的 HttpHelloWorldServer,我做了一点改动,使 CONTENT 更大(25KB - 与我的实际响应大小匹配)。而且我看到 HTTP 和 HTTPS 版本之间的性能存在巨大差异,HTTP 给我大约 110k req/s,HTTPS 给我约 400 req/s。那么是什么让 HTTPS 变得这么慢呢?

测试条件: Netty 5 ALPHA2
JDK8-64 位 ubuntu 14.04
CPU Core i7 8 线程 2.2 GHz
内存 8GB
在没有任何特殊 JVM 参数的情况下启动示例。
我的基准测试使用 wrk 并启用 Keep-Alive。

【问题讨论】:

  • HTTP vs HTTPS performance 的可能重复项
  • 在每个连接上,HTTPS 都需要重新验证安全密钥和证书(取决于它的设置方式)。至于这是否足以将性能降低到那个水平将是另一个问题
  • 是的,HTTPS 有开销,但是太多了,另一个版本用 NodeJS 实现,C++,性能差异大约 50%,比较可接受。
  • @B.K.我已经检查了那个答案,但我认为这里不匹配 netty 示例。
  • @MadProgrammer 不,它没有。任何健全的 HTTPS 服务器都会在一定程度上使用会话缓存。

标签: java netty


【解决方案1】:

在netty频道的支持下,似乎是默认JDK ssl实现导致性能不佳,Netty切换到使用Openssl http://netty.io/wiki/forked-tomcat-native.html#wiki-h2-1,然后我得到了更好的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    • 2012-03-10
    • 1970-01-01
    • 2021-03-21
    • 2018-02-22
    相关资源
    最近更新 更多