适用场景

性能调优最忌讳"凭感觉改参数":改一堆配置,问题没解决还引入新问题。正确做法是量化、分层、单变量。

配置步骤(应用与 JVM 调优)

# 1) 线程池:核心/最大线程、队列长度与拒绝策略
# 2) 连接池:最大连接数与数据库承载匹配
# 3) JVM:堆大小、GC 策略、GC 日志
jstat -gcutil 进程号 1000 10
# 4) 超时:外部调用超时与重试策略

关键参数与建议

  • 先量化:明确指标(响应时间、吞吐、错误率)与目标值
  • 分层定位:客户端 → 网络 → 网关 → 应用 → 中间件 → 数据库 → 存储
  • 单变量:一次只改一个参数,改完立即对比
  • 工具配合:压测(wrk/ab/jmeter)+ 链路追踪 + 系统指标
  • 归档:优化前后的数据与配置变更都留档

容易踩的坑

  • 堆设得过大,Full GC 停顿变长
  • 连接池过大,数据库被打满
  • 超时设置过长,故障时线程堆积

验证与巡检

jstat -gcutil 进程号 1000 10
  • 巡检:GC 频率正常、连接池使用率合理、无线程堆积

小结

性能调优的验收标准:指标有量化改善且可复现。改善 10% 是可感知的,改善 1% 属于噪声,不要当作成果。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。