我正在尝试在多个数据库中运行性能测试,从csv文件中读取信息,但过了一段时间Jmeter在测试用例中失败了,因为它没有内存。
我试图以这种方式增加“java -XX:MaxPermSize = 1024m -Xms3072m -Xmx3072m -jar Apache-JMeter.jar”,但我的结果相同。
此外,Jmeter正在创建与5个不同数据库的mysql连接。
答案 0 :(得分:0)
我假设您有64位操作系统和JVM以及大量可用的RAM。
你无法猜测这些事情。最好使用分析器获取一些数据。使用类似dynaTrace,JProfiler的东西,或者,如果你有Oracle JVM,可以使用JVM附带的Visual VM工具。
在获得某些数据之前,您无法弄清楚问题所在。也许你需要以不同的方式编写测试,这样你就不会在内存中同时拥有如此多的数据。
答案 1 :(得分:0)
首先,您是否正确修改jmeter bat中的命令行?因为基于你的转储,我们应该能够看到你实际使用了多少ram .. 例如 java.lang.OutOfMemoryError:Java堆空间将堆转储到java_pid999999.hprof ...创建堆转储文件[591747609字节在1321.244秒]在这种情况下,这意味着我使用配置了xmx为591747609字节又名为512mb的jmeter内存.. 通过这个我们可以理解您的设置是否被应用..
如果那很好,无论如何发布一些个人资料信息,我们会看到.. 但请考虑以下几点: 1)guimode中的jmeter是一个真正的瓶颈,如果你想看看你的java应用程序的性能...考虑切换到远程测试。 2)检查jmeter配置的最佳实践,jmeter中有一些次优设置会占用太多内存,你可能想把它们关掉......
给我们一个更新,我们会看到可以给出什么建议。
答案 2 :(得分:0)
确保你
如果您仍然遇到OOM错误,则需要切换到具有更多RAM的计算机或考虑distributed testing。