【性能测试必备】混合场景:基于ELK实现性能测试业务模型及tps提取

前言

之前分享过如何编写性能测试用例之单场景的文章,今天分享下混合场景,毕竟生产环境上不可能只有一个场景;

对于混合场景,业务模型是重中之重,如果模型提取不准,那么压测结果就没有参考价值;

在微信群或者Q群,也经常看到大家讨论混合场景业务模型相关的话题,所以,结合自己的实际工作,简单总结分享下,抛砖引玉。

说明:这里介绍的是已上线系统的业务模型提取。

nginx + tomcat + mysql

ELK简介

随着业务发展,服务器越来越多,ELK(以及其衍生架构ELFK等)的出现就是为了更方便查看日志以及做日志分析;

ELK由ElasticSearch、Logstash、Kibana三个开源软件组成。

ElasticSearch:分布式存储检索引擎,用来搜索、存储日志;

Logstash:日志采集和日志过滤分析,一般使用后者,前者消耗资源多,日志采集是用Beats这个轻量级日志采集器;

Kibana:读取es中数据进行可视化web界面展示。

环境规划

说明:这里只是为了演示,不考虑性能,所以未使用ELFK

系统环境:CentOS Linux release 7.9.2009 (Core)

JDK:es和logstash依赖jdk11

 

ELK下载、安装、配置

下载:https://www.elastic.co/cn/downloads/

elasticsearch-7.14.0-x86_64.rpm  

kibana-7.14.0-x86_64.rpm

logstash-7.14.0-x86_64.rpm

详细安装步骤略,度娘上很多,有问题也可以微信群交流。

日志分析:获取业务比例及最大tps

先用jmeter跑一些数据进去,然后依次从按天、小时的维度缩小范围;

假设8月23号是业务量最大的一天(且其它天业务模型和这天差不多),18:00-19:00是业务量最大的小时。

小时最大业务量

 

另外,单业务柱状图对比(这里图片省略),高低幅度都一致,所以只考虑一个场景即可。

表格视图

比例图:统计业务比例

 

获取最大tps

业务最大小时的图中最大为14537,时间为min,所以,14537/60s=242.28

 上面点进去,最高是432,时间为s,可以看到,和上面算的平均值(242.28)差了接近一倍

我们再用命令方式统计到秒,结果如下:最大是524,比上面两个值都要大

  

边界

那这个tps该取多少呢?我把这个问题留给大家思考。

混合场景用例

除了基于压测工具的设计(假设用的压测工具是jmeter),还包含监控的设计、预期结果、实际结果

图片

监控设计等,参考:《如何编写性能测试用例》之单场景

思考题:

1、上面日志分析中,得出了3个tps,你觉得选哪个更合适?为什么?

2、如何解决业务之间关联问题?比如业务B依赖业务A,业务C依赖业务B,业务D依赖业务C,业务E依赖业务D。

3、如何把业务模型设计到jmeter里面?上面四个业务,按照2:5:2:1的比例,在jmeter中按如下方式实现,是否可行?是否符合生产环境实际调用逻辑?

图片

图片

图片

图片

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值