前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过案例带你轻松玩转JMeter连载(46)

通过案例带你轻松玩转JMeter连载(46)

作者头像
顾翔
发布2022-02-10 15:51:41
2250
发布2022-02-10 15:51:41
举报
文章被收录于专栏:啄木鸟软件测试

3.2容量负载测试执行 我们采用二分逼近法来寻找容量负载测试的拐点,用过python脚本向数据库中注入数据,通过delete SQL语句删除数据。固定在线用户数为100,每次测试仍旧持续运行10分钟,如果测试错误百分比在5%以内(含5%)认为测试正常,否则认为测试出现异常。设置通过的最小值与失败最大值之间差值 (精度) 为<10000。 1)建立如下代码,目的是向数据库中加入数据。

代码语言:javascript
复制
if __name__=='__main__':
    db = DB()

    db.connect()

    tablename ="goods_goods"

    for i in range(100000,200000):

       j = i % 10

       if j ==0:

            values =str(i)+",'茶叶',67.87,'/static/image/1.jpg','这是款好的茶叶'"

       elif j ==1:

            values =str(i)+",'火腿肠',100.47,'/static/image/2.jpg','这是款好的火腿肠'"

       elif j ==2:

            values =str(i)+",'五香豆',100.47,'/static/image/2.jpg','这是款好的五香豆'"

       elif j ==3:

            values =str(i)+",'花生',100.47,'/static/image/2.jpg','这是款好的花生'"

       elif j ==4:

           values =str(i)+",'烤鸭',100.47,'/static/image/2.jpg','这是款好的烤鸭'"

       elif j ==5:

            values =str(i)+",'瓜子',100.47,'/static/image/2.jpg','这是款好的瓜子'"

       elif j ==6:

            values =str(i)+",'大排',100.47,'/static/image/2.jpg','这是款好的大排'"

       elif j ==7:

            values =str(i)+",'烤肉',100.47,'/static/image/2.jpg','这是款好的烤肉'"

       elif j ==8:

            values =str(i)+",'羊肉串',100.47,'/static/image/2.jpg','这是款好的羊肉串'"

       elif j ==9:

             values =str(i)+",'辣子鸡丁',100.47,'/static/image/2.jpg','这是款好的辣子鸡丁'"

       db.insert(tablename,values)

db.close()

2)用Jmeter打开ebussine_old.jmx,把购物车吞吐量控制器与查看商品详情吞吐量控制器中的吞吐量设置为0。 3)把查询商品吞吐量控制器的吞吐量设置为100。这样也就仅仅对查询商品进行设置。 4)线程组并发数改为100,其他不变。 5)循环控制器循环时间为10。 6)通过脚本设置商品中的数据为100000条,运行10分钟,错误百分比为7.67%,超过了5%的阈值。 7)通过SQL语句删除商品中的数据,使其个数为70000条,运行10分钟,错误百分比为1.87%,说明容量测试拐点在70000与100000之间。 8)通过脚本设置商品中的数据为80000条,运行10分钟,错误百分比为5.52%,说明容量测试拐点在70000与80000之间。 9)通过脚本设置商品中的数据为75000条,运行10分钟,错误百分比为1.75%,说明容量测试拐点在75000与80000之间。二者之间的差值为5000,低于我们预先设置好的精度<=10000,所以认为拐点为75000。 10)打开压测端与被测端的监控工具(详见第11章介绍),对在商品数为75000的场景下运行10分钟测试进行监控。 11)将测试产生的拐点数据jtl导入到各个报表中进行分析。 3.3疲劳性测试执行 1)用JMeter打开ebussines_old.jmx或者ebusiness.jmx,将线程组中的线程数设置为100,Ramp_Up时间设置为5,循环次数为永远。打开调度器,持续时间为48小时(606024*2=172800秒)。延迟启动为60秒。如图15所示。

图15 疲劳性测试线程组设置

2)如果打开的是ebusiness.jmx,线程组(新)也按照上一步进行设置。 3)查询商品的同步定时器模拟用户数量设置为50。 4)查看商品详情的同步定时器模拟用户数量设置为30。 5)查看商品详情的同步定时器模拟用户数量设置为20。 6)如果打开的是ebusiness.jmx,查看商品详情同步定时器和商品列表同步定时器模拟用户数量设置为50。 7)打开被测程序 8)测试,保证设置无误。 9)启动压测端监控程序,比如将在第11.1节讲的JMeter集群+InfluxDB存储+Grafana。 10)打开被测端监控程序,比如将在第11.2节讲的Exporter + Prometheus + Grafana。 11)根据需求打开全链路监控程序,比如将在第11.3节讲的SkyWalking。 12)启动测试。 13)在测试过程中随时查看监控软件的状态。 14)测试完毕,将测试jtl数据导入到JMeter中,进行分析。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试培训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档