性能测试指标全解

最近在公司做压测时,对于各个监控工具的监控指标一脸蒙,有时候不清晰,有时候理解错误,于是,恶补基础知识,希望对广大网友有所帮助。

一、性能测试指标

1、在线用户数

此指标指的是某个时间段内,在服务器上保持登录状态的用户数,在线用户数不等同于并发用户数,因为,只要用户不向服务器发送请求,就不会对服务器产生影响。

2、并发用户数

在性能测试过程中,一般用的比较多的指标是绝对并发用户数,我们也通常直接将绝对并发用户数直接称为并发用户数。

相对并发用户数:在某段时间内,与服务器保持交互的用户数。

绝对并发用户数:表示同一时间点(准确的说是在足够短的时间内)与服务器进行交互的用户数。

3、思考时间

每个用户操作后的暂停时间,也就是用户两次请求发起的间隔时间,这段时间是对服务器不产生压力的,在压测过程中,如果想要预估实际系统承受的最大压力,要尽可能的模拟用户真正的思考时间。

4、响应时间

响应时间,包含了网络传输请求时间、服务器处理时间、网络传输响应时间,其中,服务器处理时间通常受到代码处理请求的业务逻辑的影响,而且这个时间也是我们重点关心的一个时间,它能反映出我们代码中的缺陷和业务逻辑处理的优化点。而网络传输请求和响应时间,通常情况下取决于网络质量。

5、TP90、TP99、TP999

对于这个指标的定义为:满足90%、99%等的网络请求所需要的最低耗时。举例说明如下:

一个接口6次请求的耗时分别为:100ms、20ms、300ms、40ms、50ms、150ms。将这些时间从小到大排列为:20ms、30ms、40ms、100ms、150ms、300ms。那么TP99的计算过程为:在这6次请求中,取第6的99%(6*0.99 = 5.94,近似于6)次的耗时做为tp99值,从小到大排序后,第6次的耗时为250ms,因此此接口6次请求的TP99的值就是250ms。一般,tp99不能增长太快,且要根据实际情况去确定期望的TP99值。

6、TPS

TPS通常又称为吞吐量,它指的是服务器每秒处理的事务数,是直接反应系统性能的指标,TPS越大,性能越好。

那么TPS和响应时间以及并发用户数之间是什么关系呢?

假如1个用户在1s时间内完成1笔事务,那么TPS=1;

如果某笔业务的响应时间是1ms,那么每秒处理的事务所为1000,也就是说TPS=1000;

如果1个用户在1s只能完成1笔事务,要想达到TPS=1000,那么并发用户量就需1要是1000;

不难得出这样的公式:

设并发数为c,响应时间为t(ms),那么TPS=(1000/t)*c

从公式可以看出,要想提高系统的TPS,有两种方式:增加并发量或者降低响应时间。

降低响应时间只能通过优化代码的方式实现。

提高并发用户数c,而并发用户数通常又和服务器程序的请求处理模型关系密切,如果一个线程处理一个请求,最大并发用户数则取决于服务器能处理的最大线程数;同理,如果是一个进程对应一个请求,那么最大的并发用户数取决于最大进程数。需要说明的是,随着并发用户数的增加,响应时间往往也会随之增大。因此,最大并发用户数要从实际得出才有意义。

二、性能测试基础曲线图

  

性能测试指标全解_第1张图片

 对上图进行分析(x轴为并发用户数):

先看响应时间:在轻压力区,响应时间变化不大,曲线比较平稳;进入重压力区后,响应时间呈现上升趋势;而进入拐点区后,响应时间增长率增大,响应时间急剧增加。

再看吞吐量:随着并发用户数的增加,吞吐量增加;进入重压力区后吞吐量逐步平稳,到达拐点后吞吐量急剧下降,说明系统已经到了处理极限,

再看资源利用率:随着并发数的增加,资源利用率逐步上升,到达拐点后,利用率急剧下降。

综合来看,随着并发数的增加,资源利用率和吞吐量在增加,说明系统正在积极的处理事务,此时,系统能够承受这些请求量,因此,响应时间是趋于平稳的。但是随着并发数的持续增加,压力逐步增大,吞吐量和利用率达到饱和。随后,吞吐量急剧下降,响应时间急剧上升,说明此时系统已经处于崩溃边缘了。

你可能感兴趣的:(服务器,性能优化)