多个jmeter命令行实例需要注意的

来源:互联网 发布:python 截断文件 编辑:程序博客网 时间:2024/05/01 10:36

如果用jmeter通过命令行(无图形界面)执行测试脚本,可参见jmeter最简单使用,并且启动多个jmeter实例,肯定会报地址端口已占用:

Waiting for possible shutdown message on port 4445 
java.net.BindException: Address already in use 
        at java.net.PlainDatagramSocketImpl.bind0(Native Method)

 

这个配置在jmeter的bin目录下,找到jmeter.properties这部分:

# If running non-GUI, then JMeter listens on the following port for a shutdown message.

# To disable, set the port to 0.

#jmeterengine.nongui.port=4445

 

是用于监听shutdown message的,如果不需要,可以直接设置为0即可。

 

另外,说一下为什么要启动多个jmeter实例,而不是一个实例跑全部的并发线程。这是因为JVM性能上考虑,跑一个的话,垃圾回收和对象处理都比多个要慢一些。

在linux下,jmeter对虚拟机的配置在bin/jmeter文件中,见:

HEAP="-Xms512m -Xmx512m"

建议可以改小一些,比如我们当前的一个测试,可以改到128即可。但是要注意,初始和最大堆内存要设置一样了。因为是测试,要一家伙把内存申请足了,否则可能导致频繁的垃圾回收以及申请新内存。