在本地搭建了两个网站,一个是 https,一个是 http。用 ab 测试同一个文件(复制的)
ab -n 1000 -c 100
发现两者的速度相差比较大。下面是数据。
以下数据是 http 访问
以下数据是 https 访问
我看有人在写 Letsencrypt 限制时候,有一条是请求证书认证有速度限制,是每秒 20 次。所以这两者的速度差异主要还是因为这个限制么?
有没有好用的,速度限制不大的证书认证服务?如果没有,看起来又要走 HTTP 了。
1
SakuraKuma 2018-11-07 10:33:26 +08:00 3
lets encrypt: 这锅不背。
ps: lets encrypt 的限制是申请次数限制。 |
2
cankoor OP @SakuraKuma 那我就放心了...
|
3
johnnie502 2018-11-07 10:37:12 +08:00 1
lets encrypt 哭晕在厕所
|
4
cankoor OP @johnnie502 我并不理解那个请求证书认证是什么意思。。每次浏览器访问不是都要认证一次证书么?
|
5
hlwjia 2018-11-07 10:42:51 +08:00
重度网络基础知识
|
6
hlwjia 2018-11-07 10:43:26 +08:00
上面 typo
应该是 *重读 |
7
xiaopc 2018-11-07 10:51:39 +08:00 via Android 1
|
9
fcten 2018-11-07 11:04:13 +08:00
ab -k -n 1000 -c 100
你会发现 let's encrypt 突然良心发现让你变快了 |
11
0ZXYDDu796nVCFxq 2018-11-07 11:11:26 +08:00 via Android
Time per request: 3057 ms
你这是有严重的性能问题 |
14
lihongjie0209 2018-11-07 11:16:40 +08:00
http: TCP -> HTTP
https: TCP -> SSL(要加密和解密的) -> HTTP |
16
my101du 2018-11-07 11:25:49 +08:00
这个问题,我也奇怪过。之前做 Laravel 优化,用 ab 测试带 https,性能报告低到令人发指。后来换了一个 go 的工具,终于 http/https 对比没那么离谱了
```bash go get -u github.com/rakyll/hey ``` https://github.com/rakyll/hey |
18
zpf124 2018-11-07 11:38:31 +08:00 2
所有说 https 比 http 消耗的高的不多, 都是指 正常的用户访问。
正常的用户访问只有第一次情况是要验证证书,后续只有单纯的需要多花费一些 cpu 的加解密时间。 大多数人 比较的仅仅是: “ 100 次 http 下载需要的时间与 1 次(证书认证+确认公私钥、加密方法、ssl 加解密)的 https + 99 次(单纯 ssl 加解密)的 https 需要的时间。 而 你比较的是 100 次 http 下载需要的时间与 100 次(证书认证+确认公私钥、加密方法、ssl 加解密)的 https 需要的时间。 对于第一种情况, 交换密钥验证证书所需要的数据量在总数量中占比微乎其微, 而第二种情况如果你请求的文件本身比较小,证书和密钥的数据量有可能都能超过总数据量的一半了。 (看你的 total,http: 50kb 左右,https: 90kb 左右, 单纯的加密数据增长绝对没这么多,至少 1/3 的数据量来自传递证书和公私钥) 另外数值差距大 cpu io 都有可能是瓶颈。 |