http和https的连接速度差别有这么大么?

2013-10-18 10:25:31 +08:00
 finian
用的ucloud云主机,写了个简单的输出hello world的http和https(godaddy证书)。用alibench测试,http的平均连接时间在50ms上下,https的在1500ms,这差别也太大了吧?请问如何加速https的连接速度?
5904 次点击
所在节点    Node.js
8 条回复
Tr0y
2013-10-18 10:30:41 +08:00
换个其它的bench试试,ssl链接不应该差别这么大.
cloudzhou
2013-10-18 10:36:15 +08:00
https 的最大消耗是握手阶段,所以数据很可能就是你上面展示的。但握手之后,在现代机器硬件水平下,和 http 差不多,所以服务端要启用 keep-alive ,增加 ssl 的 cache,以 nginx 为例子:
keepalive_timeout 90;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 15m;
cloudzhou
2013-10-18 10:37:25 +08:00
alibench测试不能说明一切,因为这个测试很可能是每次链接都是一个新的session,也就是说,你测试的是握手需要的时间
dndx
2013-10-18 12:21:10 +08:00
在未使用 Keep-Alive 的情况下,SSL 握手阶段消耗时间很长,自然不占优势。
luikore
2013-10-18 12:57:19 +08:00
可能他们的 https 设置根本没优化. 例如用 aesni 就可以快一些

ssl_engine aesni;

ssl_ciphers AES128-SHA:AES256-SHA:HIGH:!aNULL:!eNULL:!LOW:!ADH:!MD5;
ssl_prefer_server_ciphers on;
feuvan
2013-10-18 14:59:19 +08:00
ssl_session_cache 蛮有效的。推荐
ihacku
2013-10-19 19:59:09 +08:00
vagase
2013-11-02 17:58:55 +08:00
可能是证书问题,看看证书密钥长度是不是太长,而且证书最好包含所有中间证书,这样会减少证书检查时间。

详情见:
https://www.imperialviolet.org/2010/06/25/overclocking-ssl.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/85968

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX