Gatling脚本被中止,出现错误“0”;进程退出时出现错误:137“;

Gatling脚本被中止,出现错误“0”;进程退出时出现错误:137“;,gatling,scala-gatling,Gatling,Scala Gatling,我正在尝试为不同的服务并行运行性能测试4小时,但流在1小时内被中止,并抛出内存不足错误。 一段时间后,它会抛出内存不足、堆内存错误 错误: 来自线程[GatlingSystem akka.actor.default-dispatcher-4]的未捕获错误:超出GC开销限制,关闭JVM,因为为ActorSystem[GatlingSystem]启用了“致命错误时akka.JVM退出” java.lang.OutOfMemoryError:超出GC开销限制 尝试过的方法:更新pom.xml中的jvm

我正在尝试为不同的服务并行运行性能测试4小时,但流在1小时内被中止,并抛出内存不足错误。 一段时间后,它会抛出内存不足、堆内存错误

错误: 来自线程[GatlingSystem akka.actor.default-dispatcher-4]的未捕获错误:超出GC开销限制,关闭JVM,因为为ActorSystem[GatlingSystem]启用了“致命错误时akka.JVM退出” java.lang.OutOfMemoryError:超出GC开销限制

尝试过的方法:更新pom.xml中的jvm参数

<jvmArg>-Xms512m</jvmArg>
 <jvmArg>-Xmx12048m</jvmArg>
-Xms512m
-Xmx12048m

一些人能否建议如何在不消耗内存的情况下运行Gatling测试,并帮助使用不同的服务运行更长时间的测试?首先,您不提供您的Gatling版本。如果您使用的是旧版本,首先要做的就是升级(目前最新版本是3.4.1)

然后,你没有描述你在测试中做了什么,以及是什么导致了这个OOME

最常见的原因是负载下的系统无法承受您施加的负载。在这种情况下,响应时间增加(可能超时),这增加了虚拟用户完成场景/旅程所需的时间。如果您使用的是开放式工作负载模型(您可能应该这么做),那么随着新用户的不断到来,虚拟用户会继续在内存中堆积,而无需完成任何更改

简而言之,您有一个问题,增加内存并不能解决它。
您要么修复应用程序以承受此类负载,要么降低负载(如果您在这方面过于雄心勃勃)。

我使用的是Gatling 3.1.0版本,我的测试只是对外部api进行后期调用并获得结果(我们验证响应所用的时间)