let's encrypt 有访问速度限制? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
cankoor
V2EX    程序员

let's encrypt 有访问速度限制?

  •  
  •   cankoor 2018-11-07 10:22:24 +08:00 4718 次点击
    这是一个创建于 2535 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在本地搭建了两个网站,一个是 https,一个是 http。用 ab 测试同一个文件(复制的)

    ab -n 1000 -c 100 

    发现两者的速度相差比较大。下面是数据。

    以下数据是 http 访问

    http

    以下数据是 https 访问

    https

    我看有人在写 Letsencrypt 限制时候,有一条是请求证书认证有速度限制,是每秒 20 次。所以这两者的速度差异主要还是因为这个限制么?

    有没有好用的,速度限制不大的证书认证服务?如果没有,看起来又要走 HTTP 了。

    21 条回复    2018-11-07 14:31:20 +08:00
    SakuraKuma
        1
    SakuraKuma  
       2018-11-07 10:33:26 +08:00   3
    lets encrypt: 这锅不背。

    ps: lets encrypt 的限制是申请次数限制。
    cankoor
        2
    cankoor  
    OP
       2018-11-07 10:37:07 +08:00
    @SakuraKuma 那我就放心了...
    johnnie502
        3
    johnnie502  
       2018-11-07 10:37:12 +08:00   1
    lets encrypt 哭晕在厕所
    cankoor
        4
    cankoor  
    OP
       2018-11-07 10:38:50 +08:00
    @johnnie502 我并不理解那个请求证书认证是什么意思。。每次浏览器访问不是都要认证一次证书么?
    hlwjia
        5
    hlwjia  
    PRO
       2018-11-07 10:42:51 +08:00
    重度网络基础知识
    hlwjia
        6
    hlwjia  
    PRO
       2018-11-07 10:43:26 +08:00
    上面 typo

    应该是 *重读
    xiaopc
        7
    xiaopc  
       2018-11-07 10:51:39 +08:00 via Android   1
    @cankoor
    1. 你 HTTPS 速度慢与要加密吃 CPU 等因素有关。
    2. 用证书加密本身是离线的(OSCP 查询也和这个没关系)。
    3. LE 限制的是证书发放频率。
    cankoor
        8
    cankoor  
    OP
       2018-11-07 10:54:45 +08:00
    @xiaopc 懂了懂了,谢谢了
    fcten
        9
    fcten  
       2018-11-07 11:04:13 +08:00
    ab -k -n 1000 -c 100

    你会发现 let's encrypt 突然良心发现让你变快了
    xiaopc
        10
    xiaopc  
       2018-11-07 11:09:43 +08:00 via Android
    @xiaopc #7 typo: OCSP
    0ZXYDDu796nVCFxq
        11
    0ZXYDDu796nVCFxq  
       2018-11-07 11:11:26 +08:00 via Android
    Time per request: 3057 ms
    你这是有严重的性能问题
    cankoor
        12
    cankoor  
    OP
       2018-11-07 11:13:21 +08:00
    @fcten ==...我查了一下 keep alive。那当然了。。。。
    cankoor
        13
    cankoor  
    OP
       2018-11-07 11:14:54 +08:00
    @gstqc 我请求的就是一个纯文本。应该是 CPU 的问题吧
        14
    lihongjie0209  
       2018-11-07 11:16:40 +08:00
    http: TCP -> HTTP


    https: TCP -> SSL(要加密和解密的) -> HTTP
    cankoor
        15
    cankoor  
    OP
       2018-11-07 11:22:48 +08:00
    @xiaopc 那这样的话,下面的架构,把证书放在 SLB 上的问题就在 SLB 的 CPU 了。

    ![slb]( )
    my101du
        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
    cankoor
        17
    cankoor  
    OP
       2018-11-07 11:35:15 +08:00
    @my101du 我试了一下,速度快的让我怀疑是和`ab -k`一样的效果,就是 keep alive 了。
    zpf124
        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 都有可能是瓶颈。
    cankoor
        19
    cankoor  
    OP
       2018-11-07 12:01:34 +08:00
    @zpf124 正解,感觉是这样的。对于短时超多用户的涌入,所以基本上就是第二种情况。
    Yanni0507
        20
    Yanni0507  
       2018-11-07 12:04:23 +08:00
    @zpf124 赞同。时间消耗主要是在 SSL 握手那里,公钥验证消耗较大。不过,私钥是不会传输的。
    zpf124
        21
    zpf124  
       2018-11-07 14:31:20 +08:00
    @Yanni0507 我脑抽了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2298 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 16:08 PVG 00:08 LAX 09:08 JFK 12:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86