Я использую Distributed JMeter Helm Chart для распределенного тестирования в Kubernetes.
В зависимости от плана тестирования я получаю исключение:
Uncaught Exception java.lang.OutOfMemoryError: Java heap space in thread Thread[Thread Group 1-45,5,main]. See log file for details.
И в Файл jmeter.log:
2020-06-20 08:57:17,602 ERROR o.a.k.c.u.KafkaThread: Uncaught exception in thread 'kafka-producer-network-thread | producer-24':
java.lang.OutOfMemoryError: Java heap space
at org.apache.kafka.common.requests.MetadataResponse.lambda$brokersMap$0(MetadataResponse.java:68) ~[kloadgen-1.5.0.jar:?]
at org.apache.kafka.common.requests.MetadataResponse$$Lambda$222/804455373.apply(Unknown Source) ~[?:?]
at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1321) ~[?:1.8.0_252]
at java.util.stream.Collectors$$Lambda$51/1566067112.accept(Unknown Source) ~[?:?]
at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) ~[?:1.8.0_252]
at java.util.Iterator.forEachRemaining(Iterator.java:116) ~[?:1.8.0_252]
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:1.8.0_252]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_252]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_252]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_252]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_252]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566) ~[?:1.8.0_252]
at org.apache.kafka.common.requests.MetadataResponse.brokersMap(MetadataResponse.java:67) ~[kloadgen-1.5.0.jar:?]
at org.apache.kafka.common.requests.MetadataResponse.topicMetadata(MetadataResponse.java:202) ~[kloadgen-1.5.0.jar:?]
at org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.handleCompletedMetadataResponse(NetworkClient.java:1037) ~[kloadgen-1.5.0.jar:?]
at org.apache.kafka.clients.NetworkClient.handleCompletedReceives(NetworkClient.java:845) ~[kloadgen-1.5.0.jar:?]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:548) ~[kloadgen-1.5.0.jar:?]
at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:331) ~[kloadgen-1.5.0.jar:?]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:238) ~[kloadgen-1.5.0.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
Я думаю, мне нужно увеличить размер кучи по сравнению с JVM_ARGS. JMeter Usermanuel описывает, как установить их при запуске jmeter. Но как я могу установить переменную среды через Kubernetes, чтобы все серверы JMeter получали больше памяти?
Спасибо!