V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
yuyuyu
V2EX  ›  NGINX

NGINX HTTPS 性能优化

  •  
  •   yuyuyu · 2021-03-22 18:14:24 +08:00 · 3437 次点击
    这是一个创建于 1378 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有几万的客户端 HTTPS 连接到 NGINX,服务器的 CPU 负载特别高,都是短连接,在我改成 HTTP 以后 CPU 下降了很多,所以确定是 HTTPS 握手性能有问题,有什么办法优化吗?短连接现在没法改成长连接

    18 条回复    2021-03-23 09:29:24 +08:00
    vibbow
        1
    vibbow  
       2021-03-22 18:16:42 +08:00
    好歹说一下当前配置把。
    yuyuyu
        2
    yuyuyu  
    OP
       2021-03-22 18:20:10 +08:00
    @vibbow 4CPU8G
    先看能不能优化,实在没啥好优化的话就只能加配置了
    john22eclipse
        3
    john22eclipse  
       2021-03-22 18:25:23 +08:00
    SSL 加速卡,了解一下
    lostberryzz
        4
    lostberryzz  
       2021-03-22 18:26:10 +08:00
    前面套 CDN,HTTP 回源
    zengxs
        5
    zengxs  
       2021-03-22 18:26:51 +08:00
    贴一下配置? 这种感觉可以从 ciphers 和 ssl session 来优化,还有 keepalive 或者 http2 连接复用
    yuyuyu
        6
    yuyuyu  
    OP
       2021-03-22 18:34:13 +08:00
    @lostberryzz 不行,动态数据

    @zengxs 还有很多老客户端都是 http1.1
    xunandotme
        7
    xunandotme  
       2021-03-22 18:40:15 +08:00
    lnmpa?静态 ng,其他用相应的
    cloverstd
        8
    cloverstd  
       2021-03-22 18:40:29 +08:00
    前面套个 SLB,SLB 用来卸载证书,SLB 到你服务长连
    zengxs
        9
    zengxs  
       2021-03-22 18:46:12 +08:00
    @yuyuyu #6 老客户端会 fallback 到 http/1.1 的,不会影响兼容性
    saytesnake
        10
    saytesnake  
       2021-03-22 18:51:31 +08:00 via Android   ❤️ 1
    http2,ssl_session_cache 调大一点,优先 ChaCha20 -Poly1305
    lostberryzz
        11
    lostberryzz  
       2021-03-22 18:57:55 +08:00
    @yuyuyu 动态数据也能用 CDN,各大云厂商都有对应的产品
    vibbow
        12
    vibbow  
       2021-03-22 19:15:13 +08:00
    @yuyuyu 4CPU8G 这不算配置 (性能上下范围太大)
    v2020
        13
    v2020  
       2021-03-22 19:15:21 +08:00
    指定强制 aes128 的别用 aes256 算法
    0ZXYDDu796nVCFxq
        14
    0ZXYDDu796nVCFxq  
       2021-03-22 19:19:12 +08:00
    试下更换证书为 ECC
    0ZXYDDu796nVCFxq
        15
    0ZXYDDu796nVCFxq  
       2021-03-22 19:21:47 +08:00
    @gstqc 补充一下:
    nginx 支持 ECC RSA 双证书,会根据客户端自动选择更优的证书
    ECC 在握手性能上要远好于 RSA
    目前绝大部分客户端都支持 ECC 证书
    Rezark
        16
    Rezark  
       2021-03-22 19:22:33 +08:00
    调用第三方加密机进行签名运算
    kennylam777
        17
    kennylam777  
       2021-03-23 00:58:04 +08:00
    1. ECC
    2. TLS 1.3 的 ChaCha20-Poly1305
    3. 上 HTTP2 保證長連接
    4. 看配置是雲機器吧, 不如先查一下 /proc/cpuinfo 有沒有 AES-NI
    drupal
        18
    drupal  
       2021-03-23 09:29:24 +08:00
    楼上挺多的,再给你提供一个参考
    gzip 只针对 http 压缩
    brotili 可以针对 https 压缩.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1098 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:21 · PVG 02:21 · LAX 10:21 · JFK 13:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.