性能测试之TPS和响应时间的关系

1、性能测试中TPS和响应时间的关系。

image.png

三条曲线:吞吐量的曲线(紫色)、利用率(绿色)、响应时间曲线(深蓝色)。
三个区域:轻负载区(Light Load)、重负载区(Heavy Load)、塌陷区(Buckle Zone)。
两个点:最优并发用户数(The Optimum Number of Concurrent Users)、最大并发用户数(The Maximum Number of Concurrent Users)。
三个状态描述:资源饱和(Resource Saturated)、吞吐下降(Throughput Falling)、用户受影响(End Users Effected)。

TPS:服务端能处理的请求数。

image.png

蓝色:TPS
黄色:响应时间

注意:性能场景过程中一定是一个持续加载的过程。

2、性能指标(TPS、QPS、RT、吞吐量)

TPS:Transactions Per Second,描述每秒事务数。TPS的粒度根据具体场景进行设计,比如接口级别、业务流。
QPS: Query Per Second,描述的是服务后面接的数据库中SQL的每秒执行条数。
RPS:Request Per Second,每秒请求数。比如3个接口,不管调用几次,都是针对的3个HTTP Request。

image.png
  • 接口级脚本
    ——事务 start(接口 1)
    接口 1 脚本
    ——事务 end(接口 1)
    ——事务 start(接口 2)
    接口 2 脚本
    ——事务 end(接口 2)
    ——事务 start(接口 3)
    接口 3 脚本
    ——事务 end(接口 3)
  • 业务级接口层脚本(就是用接口拼接出一个完整的业务流):
    ——事务 start(业务 A)
    接口 1 脚本 - 接口 2(同步调用)
    接口 1 脚本 - 接口 3(异步调用)
    ——事务 end(业务 A)
  • 用户级脚本
    ——事务 start(业务 A)
    点击 0 - 接口 1 脚本 - 接口 2(同步调用)
    点击 0 - 接口 1 脚本 - 接口 3(异步调用)
    ——事务 end(业务 A)

性能需求的指标从2个方面去定义:业务指标和技术指标。


image.png
image.png

3.计算并发数

绝对并发:指的是同一时刻的并发数,基本没有什么意义。
相对并发:指的是一个时间段内发生的事情。


image.png
image.png

压力工具4个并发线程,每个线程一秒内完成4个事务,总的TPS是16。
比如:系统如果有一万个用户在线,对一万个在线用户做并发度分析,一般在很多业务中,并发度都会低于5%,甚至低于1%。拿5%来计算的话,5%*1万=500(用户级TPS),响应时间是100ms,那么并发数=500TPS/(1000MS/100ms) = 50(并发线程)


image.png

image.png
image.png

4.性能测试分析能力阶梯

image.png

1、工具操作:包括压力工具、监控工具、剖析工具、调试工具。
2、数值理解:包括上面工具中所有输出的数据。
3、趋势分析、相关性分析、证据链分析:就是理解了工具产生的数值之后,还要把它们的逻辑关系想明白。这才是性能测试分析中最重要的一环。
4、最后才是调优:有了第 3 步之后,调优的方案策略就有很多种了,具体选择取决于调优成本和产生的效果。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容