服务器性能调优:先诊断后下药的纪律
CPU高加核、内存不足升级,花钱治标不治本。性能诊断的正确顺序。
性能问题的第一反应不该是加钱,是找瓶颈。
诊断四步
第一步:看资源曲线,定位瓶颈类型:CPU、内存、IO、带宽,四者对症下药完全不同;第二步:找消耗大户,进程与请求维度的排行,八成资源被两成进程消耗;第三步:定位原因,代码低效、配置不当、还是流量真实增长;第四步:对症处理,优化、调参、扩容的顺序执行。
常见的误诊
误诊一:CPU高就加核,结果是低效代码吃掉新资源,延迟数月复发;误诊二:内存不足就升级,实际是内存泄漏,重启大法掩盖问题;误诊三:一律上缓存,缓存掩盖了慢查询,数据库债越欠越多。
调优的优先级
代码与查询优化收益最大且治本;缓存与配置调整见效快;扩容升级是最后手段,花钱的动作放在免费的之后。
纪律
每次调优记录前后指标,无改善的动作回滚。性能调优是实验科学,不是玄学信仰。