Java内存不足以及Jmeter中的HTMLUnit错误

时间:2013-02-04 19:37:39

标签: java selenium jmeter junit4 htmlunit

由于我只是一名QA测试人员,所以我在这里和Java一般都很新。因此,我将尝试简而言之,我找到了解决我们测试网站的一个问题的解决方案,使用Jmeter测试AJAX网站。在使用Maven编译所需的Jar文件后,我设法让Jmeter使用Junit运行使用Selenium记录的HTMLunit请求以尝试加载测试网站。

一切都运行良好,直到我得到一些有价值的负载"线程数(我们是一个足够大的公司有多台机器,所以如果每个机器可以处理200-300个请求,这不应该是一个问题)但我在Jmeter cmd和{{CSS cmd中遇到了一些错误在将线程设置为50后,Jmeter错误控制台中的错误(它们可能不相关,但它们同时出现):

java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid6832.hprof ...
Heap dump file created [817281280 bytes in 13.116 secs]
Logging Error: Unknown error writing event.
java.lang.OutOfMemoryError: GC overhead limit exceeded
Logging Error: Unknown error writing event.
java.lang.OutOfMemoryError: GC overhead limit exceeded
Logging Error: Unknown error writing event.
java.lang.OutOfMemoryError: GC overhead limit exceeded
Logging Error: Unknown error writing event.
java.lang.OutOfMemoryError: GC overhead limit exceeded
Logging Error: Unknown error writing event.
java.lang.OutOfMemoryError: GC overhead limit exceeded
2013/02/04 14:01:10 WARN  - com.gargoylesoftware.htmlunit.DefaultCssErrorHandler: CSS warning: 'Website URL+CSS PATH' [2447:70] Ignoring the whole rule. 
2013/02/04 14:01:10 WARN  - com.gargoylesoftware.htmlunit.DefaultCssErrorHandler: CSS error: 'Website URL+CSS PATH' [1684:57] Error in pseudo class or element. (Invalid token "2". Was expecting one of: <S>, <IDENT>, ")".) 

这些是我得到的错误,我猜它很难获得请求(因为我知道htmlunit就好像它是一个浏览器并且使用该浏览器一次发送100个请求可能要求我现有的资源太多了)

所以,问题是:我只是想确定我在评估我遇到的问题时是否正确,并且还想知道是否有人之前做过类似的事情,如果有人找到了更好的方法来处理这些类型的测试?

1 个答案:

答案 0 :(得分:0)

您很可能在GUI模式下使用JMeter进行负载测试,这是一种反模式。

我想您的计划中有View Results Tree侦听器,因此该组件最终累积所有结果并以OOM结尾。

自JMeter的最新版本以来,仅保留了500个最新样本结果。

因此,升级到JMeter 4.0或5.0并使用NON GUI模式:

  

jmeter -n -t testplan.jmx -l results.csv -e -o report_folder