NGINX HTTPS 性能优化

2021-03-22 18:14:24 +08:00
 yuyuyu

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

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

@zengxs 还有很多老客户端都是 http1.1
xunandotme
2021-03-22 18:40:15 +08:00
lnmpa?静态 ng,其他用相应的
cloverstd
2021-03-22 18:40:29 +08:00
前面套个 SLB,SLB 用来卸载证书,SLB 到你服务长连
zengxs
2021-03-22 18:46:12 +08:00
@yuyuyu #6 老客户端会 fallback 到 http/1.1 的,不会影响兼容性
saytesnake
2021-03-22 18:51:31 +08:00
http2,ssl_session_cache 调大一点,优先 ChaCha20 -Poly1305
lostberryzz
2021-03-22 18:57:55 +08:00
@yuyuyu 动态数据也能用 CDN,各大云厂商都有对应的产品
vibbow
2021-03-22 19:15:13 +08:00
@yuyuyu 4CPU8G 这不算配置 (性能上下范围太大)
v2020
2021-03-22 19:15:21 +08:00
指定强制 aes128 的别用 aes256 算法
gstqc
2021-03-22 19:19:12 +08:00
试下更换证书为 ECC
gstqc
2021-03-22 19:21:47 +08:00
@gstqc 补充一下:
nginx 支持 ECC RSA 双证书,会根据客户端自动选择更优的证书
ECC 在握手性能上要远好于 RSA
目前绝大部分客户端都支持 ECC 证书
Rezark
2021-03-22 19:22:33 +08:00
调用第三方加密机进行签名运算
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
2021-03-23 09:29:24 +08:00
楼上挺多的,再给你提供一个参考
gzip 只针对 http 压缩
brotili 可以针对 https 压缩.

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

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

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

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

© 2021 V2EX