本文分享自天翼云开发者社区《性能调优五步法》,作者:x****n
Linux 内核从 2.5 版本开始针对 NUMA 架构做了大量优化工作,同时也提供了丰富的工具和接口,可以帮助我们很容易的完成访问本地内存的设置。所以,通过适当的性能调优,可以提供更高的计算能力。
性能优化通常可以通过五个步骤完成
1.确认基线
性能优化第一步是确定当前性能,并明确性能应提升的程度。如果系统性能不佳,我们就需要花时间进行研究分析,但如果系统性能接近其峰值,那可优化的空间就微乎其微。性能基线必须是一种客观可度量的指标,在明确如何度量特定系统或者应用程序的性能后,在调整和优化之前,运行应用程序并记录其性能,这就是基线值。在记录应用程序基线的同时我们需要对整个系统部件进行基准监控,包括CPU、内存、IO、网络吞吐、响应延时等系统运行数据。
2.压力测试
采用应用系统加压或者标准的压力工具对系统进行压力测试,使用性能监控工具观察系统运行状态,详细记录系统运行数据,精确的历史记录有利于我们定位系统瓶颈及确定后续优化手段是否有效的重要依据
3.监控瓶颈
系统在压力状态下,采用监控工具进行监控是为了确定系统的瓶颈(即可以优化的突破点)。系统的瓶颈通常在CPU过于繁忙、IO等待、网络等待、内存访问延迟高等方面出现。在测试过程中,我们不仅需要关注被测系统本身,同样需要注意是否由于硬件连接问题而导致性能异常。
4.瓶颈优化
确定系统瓶颈所在之后,接下来需要对瓶颈进行优化。瓶颈的优化是一个复杂的系统工程,我们必须在每一次调试后进行性能监控及系统状态的记录,已确保我们调试优化的方向,很多时候优化是需要多方面同步进行的,并非单一因素作用即可达到目标。在优化过程中我们也需要做好回滚的准备,保障系统的正常运行及可测量性。本文总结了一些常见的系统瓶颈及优化方案,供大家参考。
5.确认优化效果
实施优化方案后,重新进行压力测试,通过监控工具确认瓶颈是否消除,系统性能是否达到目标。若瓶颈依旧存在,系统性能指标未提升,则需要重新进行5步法,若瓶颈消除,系统性能指标达到目标,则需详细记录优化方案,后续作为标准文档进行输出应用。