性能测试思考分析
思考:性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?
要回答这个问题,可以先理解什么是性能测试,性能测试的指标有哪些。
性能测试,指的是通过测试工具和测试数据对系统进行性能检查,既是性能优化的前提和基础,也是性能优化结果的检测和度量。没有性能优化的要求,实际上,就没有性能测试的必要。
性能测试通常具有以下测试指标:响应时间、并发数、吞吐量、性能计数器。
性能计数器,是描述操作系统和服务器的性能指标,包括 System Load、对象与线程数、内存使用、CPU 使用、磁盘与网络 I/O 等
响应时间,指的是系统从请求开始到收到响应的数据所花费的时间,这时系统性能的重要指标。
并发数,指的是系统同时处理请求的数量,这个数量反映了系统的负载能力。
吞吐量,指的是一定时间内处理请求的数量,通常使用 TPS(每秒事务数)、HPS(每秒 HTTP 请求数)等表示
响应时间、并发数以及吞吐量可用以下公式表示
吞吐量 = ( 1000 / 响应时间(ms) ) * 并发数
概念解释到此,接下来回到问题本身,使用吞吐量公式就能够很好回答问题了。
当并发数从 0 开始往上增加,未达到系统瓶颈时,此时系统的响实时间并无变化,随着并发数的增加,吞吐量也在增加。
随着并发数开始达到并超过系统瓶颈时,此时,系统的响应时间将会下降,响应时间增加,这里需要分两种情况:
一种情况,响应时间的增加程度没有并发数增加的程度大,那么,根据公式,实际上,系统的吞吐量仍在继续增加;
另一种情况,响应时间的增加程度超出了并发数增加的程度,依然根据公式,系统的吞吐量开始下降。
然后,继续随着并发数增加,系统的响应时间继续增加,吞吐量逐渐下降。
当并发数最终超过系统的最大承受能力,系统崩溃。
评论