首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMeter StackOverflow

JMeter StackOverflow
EN

Stack Overflow用户
提问于 2014-09-18 16:36:16
回答 4查看 1.8K关注 0票数 2

我使用的是JMeter 2.11。在jmeter.bat文件中定义了以下参数:

代码语言:javascript
复制
set HEAP=-Xms512m -Xmx12144m

set PERM=-XX:PermSize=64m -XX:MaxPermSize=64m

我以批处理模式运行我的场景,有50个用户。似乎一些线程在20分钟或1小时内被阻塞,并在此之后再次运行。例如,对于设备组6,我们有以下内容:

代码语言:javascript
复制
<httpSample t="13" lt="13" ts="1410856270124" s="true" lb="/hopex/service.aspx?data=generationType-standard|generator-E98AEA3A4F717715" rc="200" rm="OK" tn="Groupe d'unités 1-6" dt="text" by="412">
  <java.net.URL>http://172.16.1.23/hopex/service.aspx?data=generationType-standard|generator-E98AEA3A4F717715</java.net.URL>
</httpSample>

**executed at 16/09/2014 10:31:10**


<httpSample t="0" lt="0" ts="1410856270138" s="true" lb="/hopex/statesessionprovider.aspx" rc="200" rm="OK" tn="Groupe d'unités 1-6" dt="text" by="238">
  <java.net.URL>http://172.16.1.23/hopex/statesessionprovider.aspx</java.net.URL>
</httpSample>

**executed at 16/09/2014 10:31:10**



<sample t="0" lt="0" ts="1410856274818" s="true" lb="Timer between steps" rc="200" rm="OK" tn="Groupe d'unités 1-6" dt="text" by="1478"/>

**executed at 16/09/2014 10:31:15**


<httpSample t="3" lt="3" ts="1410860493293" s="false" lb="/Hopex/service.aspx?data=generationType-standard|generator-E98AEA3A4F717715" rc="500" rm="Internal Server Error" tn="Groupe d'unités 1-6" dt="text" by="298">
  <java.net.URL>http://172.16.1.23/Hopex/service.aspx?data=generationType-standard|generator-E98AEA3A4F717715</java.net.URL>
</httpSample>

**executed at 16/09/2014 11:41:33**

似乎在10H31执行定时器,并且在11H41发送下一个请求,也就是在定时器之后的1H10。我们的服务器应用程序日志显示,由于IIS web应用程序会话超时,最后一个请求从未被处理过。所以这意味着JMeter在发送请求前暂停了一个多小时。应该注意的是,如果我们从我们的场景中删除了JMeter while语句,它就可以工作。

我从JMeter日志中检索此信息。问题似乎来自于堆栈溢出的JMeter。

代码语言:javascript
复制
2014/09/16 10:30:49 WARN  - jmeter.control.GenericController: StackOverflowError detected 
2014/09/16 10:30:49 WARN  - jmeter.control.GenericController: StackOverflowError detected 
2014/09/16 10:30:49 WARN  - jmeter.control.GenericController: StackOverflowError detected 
2014/09/16 10:30:51 WARN  - jmeter.control.GenericController: StackOverflowError detected 
2014/09/16 10:31:00 INFO  - jmeter.reporters.Summariser: summary +    196 in    30s =    6.5/s Avg:   154 Min:     0 Max: 11347 Err:     0 (0.00%) Active: 50 Started: 50 Finished: 0 
2014/09/16 10:31:00 INFO  - jmeter.reporters.Summariser: summary =   5974 in  1103s =    5.4/s Avg:   406 Min:     0 Max: 47864 Err:     0 (0.00%) 
2014/09/16 10:31:01 WARN  - jmeter.control.GenericController: StackOverflowError detected 
2014/09/16 10:31:32 INFO  - jmeter.reporters.Summariser: summary +    154 in    32s =    4.9/s Avg:    94 Min:     0 Max: 10982 Err:     0 (0.00%) Active: 50 Started: 50 Finished: 0 
2014/09/16 10:31:32 INFO  - jmeter.reporters.Summariser: summary =   6128 in  1135s =    5.4/s Avg:   399 Min:     0 Max: 47864 Err:     0 (0.00%) 
2014/09/16 10:31:37 WARN  - jmeter.control.GenericController: StackOverflowError detected 

我尝试使用-XSS更改JMeter.bat参数,但有副作用。我还使用这些参数运行了测试:

代码语言:javascript
复制
set HEAP=-Xms512m -Xmx12144m 
set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m 
set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50% 
set TENURING=-XX:MaxTenuringThreshold=2 
set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000 
set PERM=-XX:PermSize=64m -XX:MaxPermSize=64m

什么都没有改变,同样的问题也适用。有没有人知道如何删除这些JMeter错误?这对我们来说是相当阻塞的,因为这意味着JMeter无法同时正确处理50个用户……

问候

Sylvie

EN

回答 4

Stack Overflow用户

发布于 2014-10-15 03:29:18

问题是由于2.11版中的已知错误造成的:

当If控制器在第一次迭代中有一个总是为假的条件时,

侦听器不会显示迭代计数(参见错误52496 )。解决方法是在与If控制器相同(或更高)的级别添加采样器。例如,一个等待时间为0(不生成样本)的Test Action采样器,或者一个所有字段都设置为False (以减少样本大小)的Debug sampler。

还打开为:

此错误现已修复,因此将在2.12版本中提供

票数 3
EN

Stack Overflow用户

发布于 2014-09-30 19:27:03

2014/09/16 10:31:37 WARN - jmeter.control.GenericController:检测到StackOverflowError

当测试计划中存在逻辑错误时,可能会出现此错误。请仔细检查是否在测试计划中添加beanshell侦听器,以便在逻辑控制器中打印额外的日志,例如循环/迭代控制器。

票数 0
EN

Stack Overflow用户

发布于 2015-03-20 16:53:26

我认为在"set HEAP=-Xms512m -Xmx12144m“中,两个值需要相同。我认为如果你尝试使用"set HEAP=-Xms2048m -Xmx2048m“,这个错误就会消失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25907876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档