在用Loadrunner跑场景的时候怎么会出现80个并发比100个并发的平均响应时间多的情况?

lovememememe 2007-04-20 10:05:38
怎么避免或者减少这种现象?
...全文
836 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinwj 2007-05-22
  • 打赏
  • 举报
回复
这个要具体问题具体分析。
压力测试是个概率的问题。
zhxmcm 2007-04-28
  • 打赏
  • 举报
回复
个人使用LR的经验觉得可能有多种情况。第一,测试环境不一样(脱离硬件环境性能测试结果会有差异,比如:2G内存和512MB内存;同样脱离软件环境测试结果也会有差异,比如Tomcat和Weblogic);第二,测试数据引起,在连续进行压力测试时测试数据往往要求循环使用,但被测试业务要检查测试数据时,会引起你所描述的问题(拿电信营业厅的开户业务来说把,某个号码在第一次测试时已经开户并通过了,第二次测试时再拿这个号码开户必然会导致开户失败,期间业务会浪费很多时间做判断,若这样的号码有一批,那么平均响应时间自然会升高);第三,也是常出现,也就是进行LR测试时没加载“预热”,请在Controller中设置一下,让每个场景进行3~5分钟以后再让各计数器开始计数。
本测试程序适用于接口类的性能测试,只适用于单交易基准 和 单交易负载测试;支持两种场景场景一:模拟LoadRunner/Jmeter的并发策略,根据设定的并发用户,在开始测试时,启动对应并发用户数的线程,每个线程中一直进行发测试交易,但是每个线程中需要等上一笔交易收到响应之后,再发起另外一笔交易; 场景二:根据设定的并发用户,在开始测试时,启动对应并发用户数的线程,每个线程中异步发送交易,发送完成后,等待一秒后,继续异步发起另外一笔交易。 常见的就是场景一;场景二慎用,当交易的平均响应时间大于1秒的话,系统压力越来越大。 Script1.java是测试场景一的代码; Script2.java是测试场景二的代码; 根据场景描述,看一下代码,比较容易理解。 测试方法: (1)、修改property 文件中的配置,vuserNum 对应并发用户数;runTime对应执行时间,单位为秒; (2)、可以将发送交易:sendTrans();方法中的 补充调用交易的代码 注释开始和结束的位置替换一下,模拟一下程序要执行一段时间,例如: //测试代码 // try { // TimeUnit.MILLISECONDS.sleep(200); //休眠200ms // } catch (InterruptedException e) { // e.printStackTrace(); // } 然后再将下面的判断交易状态的判断条件 改成 if(1==1) (3)、执行main方法就可以进行测试了。 测试完成之后,将上面的测试代码,换成自己要测试的接口的业务逻辑即可,最后达成jar包,建议放在与服务器同网段的服务器上运行; 输出结果最后一行的内容,可以直接粘贴在Excel中,到最后处理一下日志,统一粘贴就行了。

5,177

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 质量管理/软件测试
功能测试压力测试安全性测试 个人社区 湖南省·长沙市
社区管理员
  • 软件测试
  • 虫无涯
  • 小博测试成长之路
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎大家加入到软件测试的社区,在这里,希望大家勇于发表自己的看法,欢迎大家分享自己在软件测试工作过程中遇到的问题以及工作经验分享。

1.想转行的小伙伴,遇到问题没有及时回复的,可以私聊小博进行反馈

2.大家对社区有好的建议,都可以在社区发帖进行反馈

推荐大家学习的软件测试入门笔记:软件测试入门学习笔记

试试用AI创作助手写篇文章吧