0

因为我只是一名 QA 测试员,所以我在这里和 Java 都非常陌生。因此,我将尝试简短地说,我找到了解决我们在测试网站时遇到的问题之一的解决方案,即使用Jmeter. 在使用 Maven 编译所需的 Jar 文件后,我设法Jmeter运行Junit使用 Selenium 记录的请求,HTMLunit以便尝试对网站进行负载测试。

一切运行良好,直到我达到一些“值得加载”的线程数(我们是一家足够大的公司,拥有多台机器,所以如果每台机器都可以处理 200-300 个请求,这应该不是问题)但我遇到了一些错误将线程设置为 50 后, Jmetercmd 以及错误控制台CSS中的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 个请求可能需要太多我当前的资源)

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

4

1 回答 1

0

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

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

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

所以升级到 JMeter 4.0 或 5.0 并使用非 GUI 模式:

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

于 2018-10-12T20:22:18.180 回答