如果用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即可。但是要注意,初始和最大堆内存要设置一样了。因为是测试,要一家伙把内存申请足了,否则可能导致频繁的垃圾回收以及申请新内存。
最后欢迎大家访问我的个人网站:1024s