【发布时间】: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 服务器都会在一定程度上使用会话缓存。