在做混合场景测试的时候,常面临一个问题:什么时候是到了应用的瓶颈了呢?
假设有三支交易(三个脚本): register、login、update,业务比例是 15%,75%,10%. 经过比例调配,我们得到三支交易的用户比例是4,2,3.
第一种测试结果:
测试序列 | 用户总数 | TPS | 响应时间 |
第一组 | 9(4/2/3) | 14/76/11 | 15/20/12 |
第二组 | 18(8/4/6) | 29/151/24 | 16/21/12 |
第三组 | 36(16/8/12) | 20/120/15 | 100/150/180 |
那么我们发现第三组的测试结果性能比第二组明显有所下降,那么在这种典型的情况下.我可以很容易知道36并发就是瓶颈了.
第二种测试结果:
测试序列 | 用户总数 | TPS | 响应时间 |
第一组 | 9(4/2/3) | 14/76/11 | 15/20/12 |
第二组 | 18(8/4/6) | 29/151/24 | 16/21/12 |
第三组 | 36(16/8/12) | 20/300/47 | 100/22/12 |
此种情况,我们假设register的响应时间也符合性能要求的话.第三组的时候其余两支交易的TPS仍然维持的比例的增多,但是register反而下降了.此时我们要动态减少login和update的用户数,并增加register的并发直到他们的tps符合比例为止. 正常情况下你会发现调节后的总TPS和第二组交易差不多,也就说此时已经到达了瓶颈.
当然,如果第三组的register的响应时间已经不符合性能要求的话,那么就更好判断了.