不同场景下的 TCP 参数配置
不同场景下的 TCP 参数配置:
系统参数配置对比
| 参数类型 | 参数名称 | 默认值 | 低并发场景 | 中并发场景 | 高并发场景 | 说明 |
|---|---|---|---|---|---|---|
| 连接队列 | net.ipv4.tcp_max_syn_backlog | 1024 | 2048 | 4096 | 8192 | SYN队列长度 |
| 连接队列 | net.core.somaxconn | 128 | 2048 | 4096 | 8192-65535 | 连接队列最大长度 |
| TIME_WAIT | net.ipv4.tcp_max_tw_buckets | 180000 | 5000 | 7000 | 10000 | TIME_WAIT最大数量 |
| 超时设置 | net.ipv4.tcp_fin_timeout | 60s | 30s | 20s | 10s | FIN_WAIT_2超时时间 |
| 端口范围 | net.ipv4.ip_local_port_range | 32768-60999 | 1024-65000 | 1024-65000 | 1024-65000 | 本地端口范围 |
Keepalive参数对比
| 参数名称 | 默认值 | 保守配置 | 激进配置 | 说明 |
|---|---|---|---|---|
| tcp_keepalive_time | 7200s | 1800s | 600s | 开始探测时间 |
| tcp_keepalive_intvl | 75s | 45s | 30s | 探测间隔 |
| tcp_keepalive_probes | 9 | 5 | 3 | 探测次数 |
连接池配置对比
| 参数名称 | 默认值 | 小规模应用 | 中规模应用 | 大规模应用 | 说明 |
|---|---|---|---|---|---|
| 最小空闲连接 | 0 | 5 | 10 | 20 | 保持的最小连接数 |
| 最大空闲连接 | 8 | 10 | 20 | 50 | 允许的最大空闲连接数 |
| 最大连接数 | 8 | 20 | 50 | 200 | 连接池最大连接数 |
| 空闲超时时间 | 不限 | 600s | 450s | 300s | 空闲连接存活时间 |
| 连接最大生命周期 | 不限 | 3600s | 2400s | 1800s | 单个连接最大存活时间 |
建议配置场景:
-
低并发场景:
- 日活用户:< 1万
- QPS:< 100
- 并发连接:< 1000
-
中并发场景:
- 日活用户:1-10万
- QPS:100-1000
- 并发连接:1000-5000
-
高并发场景:
- 日活用户:> 10万
- QPS:> 1000
- 并发连接:> 5000
注意事项:
- 参数调整需要考虑服务器硬件资源情况
- 建议先在测试环境验证
- 调整时需要监控系统负载和网络状况
- 根据实际业务场景适当调整这些参数

浙公网安备 33010602011771号