在服务开发完成之后,会经过alpha及bate测试,当功能满足需求的时候我们就该考虑性能是否也满足需求,通常就需要对性能进行调优。不同的公司或项目组可能会有不同的方式调优,但目标都是相同的。接下来我会记录下最近的一次调优过程。
目标
在大并发的情况的下TPS、响应时间及稳定性满足客户要求
开始时间
基础功能测试完成后,在Bate1~Bate2阶段开始进行性能调优
总体流程
1、梳理服务总体架构及流程,按照流程进行调优计划设计。
2、按照架构及流程排除第三方服务器等对并发数的影响。
3、对应用服务器进行大并发测试,依据错误日志排除死锁等资源争用的情况。
4、根据durid或者Jmelody等监控软件,及数据库慢查询日志进行SQL语句的优化。
5、根据Jprofile的监控报告对服务中的线程数,内存,GC,等进行调优,同时根据监 控的情况,对影响性能的资源及线程等进行调优。
6、对次级服务进行降级或者异步处理。
7、关闭所有监控及日志,进行总体测试。
接下来的文章将会详细介绍具体过程。