性能测试实战30讲学习

Posted by tzwlwy's Blog on March 22, 2020

性能测试实战01

如何理解压力测试,负载测试跟容量测试?

性能测试、负载测试、容量测试这样的词因为之间的界限非常模糊,不好理解和运用到实际工作中, 每个人对其的理解都不同,所以只能作为共有知识。 但是以下针对性能测试的概念,定义明确,可以更好的放入工作当中。

如何理解性能测试?

性能测试针对系统的性能指标,建立性能测试模型,制定性能测试方案,制定监控策略,在场景条件之下执行性能场景, 分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值。

性能测试整体流程图:

性能测试实战02

在 TPS 增加的过程中,响应时间一开始会处在较低的状态,也就是在 A 点之前。 接着响应时间开始有些增加,直到业务可以承受的时间点 B,这时 TPS 仍然有增长的空间。 再接着增加压力,达到 C 点时,达到最大 TPS。我们再接着增加压力,响应时间接着增加, 但 TPS 会有下降(请注意,这里并不是必然的,有些系统在队列上处理得很好,会保持稳定的 TPS, 然后多出来的请求都被友好拒绝)。

做单交易容量测试是为了混合容量做基准数据的。举例来说。 业务1单交易容量能达到300TPS,且响应时间也非常好。而在混合中,可能业务1只需要100TPS, 那就说明业务1不会成为混合容量的瓶颈点。 如果业务1单交易容量的时候只能达到50,而在混合场景中需要它能跑到100,怎么办? 这就只能在单交易的时候做优化了。 所以单交易容量测试是为了确定是不是应该在单交易容量阶段做性能优化。

题外话:要注意的是混合容量中有相互的逻辑关系,这个必须到混合容量的时候才会出现。

性能测试实战03

对一个线程来说,如果响应时间是100ms, 那这个线程在一秒内不就是: 1000ms/100ms = 10tps了吗 响应时间是 100ms,TPS是500,那显然并发线程数是 500TPS/(1000ms/100ms)=50(并发线程)。

性能测试实战04

一堆废话

性能测试实战05

TPS=1000ms/响应时间 * 并发数(服务器并发) 服务器并发数跟cpu个数有一定关系。例如cpu个数是4,那么并发数就小于4, 受系统传递等影响

性能测试实战06

工具操作:包括压力工具、监控工具、剖析工具、调试工具。

数值理解:包括上面工具中所有输出的数据。

趋势分析、相关性分析、证据链分析:就是理解了工具产生的数值之后,还要把它们的逻辑关系想明白。这才是性能测试分析中最重要的一环。

最后才是调优:有了第 3 步之后,调优的方案策略就有很多种了,具体选择取决于调优成本和产生的效果。

性能测试实战07

jmeter场景录制介绍,没太多意义

性能测试实战08