明确问题
首先我们要确认是哪些性能指标不达到要求,或者需要改进
常见的性能指标:
用户体验层面
- 用户响应时间
就是用户感受软件系统为其服务所消耗的时间。对于web系统,请求的相应时间指的是从客户端发起的一个请求时间,到客户端接收到从服务器返回的相应结束。在互联网上对于用户响应时间,有一个普遍的标准:2/5/10秒原则。
也就是说,在2秒之内给客户响应被用户认为是“非常有吸引力”的用户体验。在5秒之内响应客户被认为“比较不错”的用户体验,在10秒内给用户响应被认为“糟糕”的用户体验。如果超过10秒还没有得到响应,那么大多用户会认为这次请求是失败的。
事务处理层面
- 每秒处理事务(TPS)
- 事务平均响应时间(RT)
- 90%响应时间
- 并发用户数
- HTTP错误率
这里有个简单的关联关系:并发用户数/TPS/RT之间的关系
假如并发数为10,接口RT为500ms,那每秒钟通过的请求数(TPS)应该为10*(1000ms/500ms)= 20
此处仅为简单换算,如果数据出入较大,需要进一步分析。
另外最优并发和最大并发之间的关系,在上一篇已经讲过了,可以参考这篇文章
https://www.cnblogs.com/jackei/archive/2006/11/20/565527.html
服务器资源层面
- CPU使用情况
- 内存使用情况和持续表现
- 磁盘IO速度
- 上行/下行网速情况
排查原则
为了能快速的排查分析,我们