性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化
一、性能测试的四个主要指标
响应时间:指应用系统从发出请求开始到收到最后响应数据所需要的时间。响应时间是系统最重要的性能指标,直观的反映了系统的“快慢”。
并发数:系统能够同时处理请求的数目,这个数字也反映了系统的负载特性。对于网站而言,并发数即系统并发用户数,指同时提交请求的用户数目,于此相对应,还有在线用户数(当前登录系统的用户数)和系统用户数(可能访问系统的总用户数)。
吞吐量:指单位时间内系统处理的请求的数量,体现件系统的处理能力。对于网站,可以用“请求数/秒”或是“页面数/秒”来衡量,也可以用“访问人数/天”或是“处理的业务数/小时”等来衡量。TPS(每秒事务数)也是吞吐量的一个指标,此外还有HPS(每秒HTTP请求数),QPS(每秒查询数)等。
吞吐量 = ( 1000 / 响应时间ms ) × 并发数
性能计数器:是描述服务器或操作系统性能的一些数据指标。包括 System Load、对象与线程数、内存使用、CPU 使用、磁盘与网络 I/O 等指标。这些指标也是系统监控的重要参数,对这些指标设置报警阀值,当监控系统发现性能计数器超过阀值的时候,就向运维和开发人员报警,及时发现处理系统异常。
二、吞吐量变化如下图所示:
随着并发数据量增加,吞吐量不断上升;当系统资源达到高峰后,并发数量还在增加的话,服务器处理不过来了,吞吐量会逐渐下降,系统崩溃。
性能测试:a~b 并发数增加,TPS快速增加。
负载测试:b~c 并发数增加,TPS增长速度变小。
压力测试:c~d 并发数增加,TPS反而开始下降。
让系统在b点位置左右运行;如果在c点位置左右,那么就很容易系统奔溃了。到底是在b点位置的左还是右呢?这要依赖于投资多少钱的机器。如果要省钱,那么在b点靠右的位置,安全性会低一点,到达c点比较危险。如果不差钱,那么可以多加机器(比如银行),那么就在b点靠左的位置
三、响应时间变化如下图所示:
服务器资源空闲时,响应时间较短,随着并发用户数不断增加,系统资源逐渐消耗。请求多了,服务器处理不过来,响应时间会慢慢增长。此时,并发量还在不断增加,达到系统最大负载点,也就是服务器资源消耗尽了,彻底失去响应。
[a, b) 区间,响应时间变化不大,吞吐量在持续增大(根据吞吐量公式),因为硬件能够接收这么多流量。
[b, c) 区间,响应时间逐渐增大,吞吐量在持续增大,增速较[a, b)变缓慢,因为硬件已经超负荷。
[c, d) 区间,响应时间快速增大,吞吐量在缓慢增加,最终达到最高值,因为最终系统崩溃。
评论