适用场景
性能调优最忌讳"凭感觉改参数":改一堆配置,问题没解决还引入新问题。正确做法是量化、分层、单变量。
配置步骤(分层定位流程)
# 1) 客户端:DNS、TLS 握手、首包时间
# 2) 网络:丢包、时延、带宽(ping/mtr/iperf3)
# 3) 网关:连接数、超时、5xx(Nginx/网关日志)
# 4) 应用:CPU、GC、线程池、慢方法
# 5) 数据库:慢查询、锁等待、连接数
# 6) 存储:IOPS、时延、队列深度
关键参数与建议
- 先量化:明确指标(响应时间、吞吐、错误率)与目标值
- 分层定位:客户端 → 网络 → 网关 → 应用 → 中间件 → 数据库 → 存储
- 单变量:一次只改一个参数,改完立即对比
- 工具配合:压测(wrk/ab/jmeter)+ 链路追踪 + 系统指标
- 归档:优化前后的数据与配置变更都留档
容易踩的坑
- 跳过网络与网关,直接查应用
- 只看平均耗时,忽略 P95/P99
- 不做对照测试,无法证明改善
验证与巡检
mtr -r -c 20 目标
iostat -x 1 3
- 巡检:分层数据齐全、瓶颈定位有依据
小结
性能调优的验收标准:指标有量化改善且可复现。改善 10% 是可感知的,改善 1% 属于噪声,不要当作成果。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。