写点什么

架构作业 - 第七周

用户头像
Nick~毓
关注
发布于: 2020 年 11 月 08 日

性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?


性能测试方法



性能测试 :以系统设计初期规划的性能指标为预期目标,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能预期

负载测试:对系统不断地增加并发请求以增加系统压力,直到系统的某项或多项性能指 标达到安全临界值,如某种资源已经呈饱和状态,这时候继续对系统施加压力,系统的 处理能力不但不能提高,反而会下降

压力测试:超过安全负载的情况下,对系统继续施加压力,直到系统崩溃或不能再处理 任何请求,以此获得系统最大压力承受能力

ps:前面三个测试:其实是同一个测试,随着压测数据增加,而取临界值的测试;



压测工具压测







分析

CPU、Load:

Linux中,进程分为三种状态,一种是正在运行的进running process,一种是可运行的进程runnable process,另一种是阻塞的进程Blocked process;

进程可运行状态时,它处在一个运行队列run queue中,与其他可运行进程争夺CPU时间。

系统负载Load:正在运行和准备好运行的进程总数;请求的线程数大于当前的处理能力,就出现等待阻塞,引起load升高;



性能压测:

第一阶段:随着并发压力的增加,系统吐吞量(TPS/QPS)逐渐提升,系统对外的响应时间也并不会有较大的波动,因为System Load和内存都有较大的空闲;

第二阶段:并发再增加,这时系统的负载已经有较大的升高,慢慢接近能处理的瓶颈;内存也是同理,此时还会开辟虚拟内存空间;此时处于等待的线程数以及内存也接近上限;

此时的吐吞量达到最上限,即使再大的并发量,CPU和内存都已经满载,都处于等待阻塞的状态;

第三阶段:此时再增加并发,系统已经完全处理不过来了,等待阻塞的线程数越来越多,响应时间开始急剧增加,TPS也开始下降,因为系统的就绪队列过长,大量进程争夺CPU,大量处理的上下切换,CPU开销会越来越大,逐渐奔溃;



性能压测时: 最好再结合,CPU、Load、内存、I/O、宽带等硬件资源使用情况,一起观察;这样可出更准备得出系统的最佳运行状态;



实践过程,压测一般要多操作几次,一次达到的数据不一定完全准备;不定期的压测对系统的了解会更有把握;

用户头像

Nick~毓

关注

还未添加个人签名 2018.05.09 加入

还未添加个人简介

评论

发布
暂无评论
架构作业-第七周