优化方法论
cpu
增大 nginx 使用 cpu 有效时长
- worker_processes 指令
- 减少进程切换
- 增大进程优先级
- 绑定 cpu
- 延迟处理新连接
多核间负载均衡
worker 间均衡
缓存命中率
- worker_cpu_affinity
NUMA 架构
tcp
syn_sent
syn_rcvd
tcp_syncookies
文件描述符上限
worker 进程最大连接数量
- worker_connections
两个队列长度
tcp fast open
滑动窗口
发送 tcp 消息
接收 tcp 消息
发生 cs
重传
缓冲区
BDP
- bdp = 带宽 x 时延
- 吞吐量 = 窗口 / 时延
nagle 算法
- postpone_output
cork 算法
流量控制
RTT, RTO
keepalive
关闭连接
tcp_tw_reuse
tcp_tw_recycle = 0
lingering_close 延迟关闭
- 避免发送 rst
tls 优化
http 长连接
使用 http2
磁盘 io
减少磁盘 io
直接 io
- 大文件, 直接 io
异步 io
异步读 io 线程池
异步 io 中的缓存
减少磁盘读写次数
- empty_gif 模块
access 日志压缩
- access_log 指令
error.log 日志输出内存
syslog 协议