适用场景

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

配置步骤(数据库与 SQL 优化)

-- 慢查询定位
SELECT * FROM information_schema.processlist WHERE time > 2;
-- 执行计划
EXPLAIN SELECT ...;
-- 索引与改写:避免函数索引失效、避免大偏移分页

关键参数与建议

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

容易踩的坑

  • 只加索引不清理无用索引,写入变慢
  • 大偏移分页(limit 100000,20),越翻越慢
  • 未看执行计划,优化方向错误

验证与巡检

EXPLAIN ANALYZE SELECT ...;
  • 巡检:慢查询数量下降、索引使用率合理

小结

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

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