使用docker在分布式测试中运行jmeter时如何在运行时设置JVM堆大小

问题描述 投票:0回答:3

我有以下测试基础设施:

  1. 3 个实例(主 + 2 个从),dockerized
  2. 从jmeter master运行命令(所有3台机器都使用默认512m)
    sudo docker exec -i master /bin/bash -c "/jmeter/apache-jmeter-3.1/bin/jmeter -n -t /home/librarian_journey_Req.jmx -Djava.rmi.server.hostname=yy.yy.yy.yy -Dclient.rmi.localport=60000 -R1xx.xx.xx.xx -j jmeter.log -l result.csv"

上面的命令运行良好并且也得到结果。但是希望在运行时将堆大小增加到 3GB。

我尝试过使用以下命令:

sudo docker exec -i master /bin/bash -c "JVM_ARGS="-Xms1024m -Xmx1024m" /jmeter/apache-jmeter-3.1/bin/jmeter -n -t /home/librarian_journey_Req.jmx -Djava.rmi.server.hostname=10.135.104.138 -Dclient.rmi.localport=60000 -R10.135.104.135,10.135.104.139 -j jmeter.log -l result.csv"

运行上述命令后没有任何反应。请指导如何增加。

jmeter
3个回答
3
投票

运行容器时您可以覆盖环境变量。另外,通常你不需要使用

sudo
来执行 docker。所以试试这个:

docker exec -i -e JVM_ARGS="-Xms1024m -Xmx1024m" master /bin/bash ... 

0
投票

感谢大家的帮助和指导。能够通过在 docker jmeter 基础映像中设置 ENV 变量来设置主机器和从机器的堆大小,如下所示。感谢@vins。 ENV JVM_ARGS -Xms3G -Xmx3G


0
投票

非常感谢你们这些人。我已经为这个问题苦苦挣扎有一段时间了。这是唯一有效的解决方案。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.