Keep Alive 对 HTTPS 性能的巨大影响

最近为 Webit 添加了 HTTPS 支持。为了了解 HTTPS 下的性能,我重新对 Webit 进行了测试。

结果基本在预料之中。不过,也发现了一些其他的以往未能了解的东西。

下面是测试结果:

#ab -n 10000 -c 100 https://127.0.0.1:1039/

Requests per second:    891.10 [#/sec] (mean)

#ab -n 10000 -c 100 -k https://127.0.0.1:1039/

Requests per second:    20710.75 [#/sec] (mean)

性能差距居然超过了 20 倍。看来 HTTPS 在建立连接的过程中消耗的资源非常可观。如果在项目中需要使用 HTTPS,请务必使用 Keep Alive 连接。使用 HTTPS 短连接性能非常之差。

为了确定这是真相而不是我写的程序有 bug,顺便对 nginx 做了一次测试(nginx测试在阿里云服务器上,两次测试结果不可横向比较):

#ab -n 10000 -c 100 https://127.0.0.1/

Requests per second:    258.76 [#/sec] (mean)

#ab -n 10000 -c 100 -k https://127.0.0.1/

Requests per second:    7486.34 [#/sec] (mean)

同时,我也对 Webit 的 HTTP 模式进行了测试:

#ab -n 500000 -c 10 -k http://127.0.0.1:1039/

Requests per second:    31538.90 [#/sec] (mean)

基本验证了 HTTPS 的性能大约为 HTTP 的 60% 至 70% 的结论。

相关文章
没有评论

留下评论

电子邮件地址不会被公开。 必填项已用*标注