前面一篇已经告诉你,性能调优的参考指标,也就是对应的目标。当我们知道目标之后,现在就是要进行测试调优了。那么性能调优一般我们可以分为四个步骤:
测试 - 分析并制定调优策略 - 执行 - 测试 最后一步就是总结反思是那个地方导致性能上有问题,以后如何去避免。
好了,废话不多说,show time。
第一步:测试
首先准备好测试背景,要和生产环境一致。
然后就是测试场景,比如一个是只有安装主功能,一个是不只有主功能,可能还有别的算法也在运行,在不同的场景下,性能上是否会有影响。这也可以成为对比性测试,比如对比一个方法在同步和非同步的情况下性能有什么不同。
最后就是确认测试目标,没有目标的行为都是没有意义的。
注意:
- 程序刚开始的启动会比较慢,这是程序初始化的过程。
- 每次的结果取平均值,如果相差太大,要排查因素。
- 尽量避免一台机器上启动多个Java应用程序
第二步:分析 并制定调优策略
查找问题(自下而上):
- 操作系统层面,CPU、内存、I/O、网络I/O使用率是否存在异常
- JVM 层面,查看 JVM 的垃圾回收频率以及内存分配情况是否存在异常
- 应用层面,查看是否存在性能瓶颈,例如 Java 编程的问题、读写数据瓶颈等等
再通过命令查找异常日志,最后通过分析日志,找到导致瓶颈的原因。
解决问题(自上而下):
- 应