性能压测时,并发压力增加,系统响应时间和吞吐量如何变化

2020-11-12  本文已影响0人  夜风月圆

性能测试

性能测试是性能优化的前提和基础,也是性能优化结果的检查和度量标准。不同视角下的网站性能有不同的标准,也有不同的优化手段。

做性能优化的时候,一方面提高性能指标,另一方面要考虑到提高用户的主观感受(可以利用异步操作)。架构师训练营不介绍主观视角

性能测试指标

其他常用指标:

吞吐量 = ( 1000 / 响应时间 ms) × 并发数

吞吐量 Throughput 的讨论需要有时间单位,一般采用 Bytes/Second、Pages/Second 和 Request/Second 等单位。

不同并发用户数场景下,即使系统具有相近的吞吐量,但是得到的系统性能瓶颈也不一样。

比如 100 个并发用户,每用户每隔 1 秒发出一个 Request 和 1000 个并发用户,每隔 10 秒发出一个 Request,两个场景有相同的吞吐量 100 Request/Second,但是两个场景所占用的资源不一样,性能拐点也肯定不一样。

image

性能测试方法

image image

究竟部署多少台服务器(资源)比较合适?是架构师需要考虑的一个决策,找到性能、价格的平衡点。架构师要清醒的知道,决策的依据到底是什么,可能的代价是什么,是否能够承担这个责任……

image

Performance Testing Methodology, Quest Soft, 2005

image

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

——《02丨性能综述:TPS和响应时间之间是什么关系?》 性能测试实战30讲

通常从两个层面定义性能场景的需求指标:业务指标和技术指标。

所有的技术指标都是在有业务场景的前提下制定的,而技术指标和业务指标之间也要有详细的换算过程。

上一篇下一篇

猜你喜欢

热点阅读