问题描述
我通常使用“ nohup”启动Jmeter,而不是一直使用Cmd,而是决定配置一个始终运行Jmeter的systemd服务。
nohup /app/jmeter/apache-jmeter-5.3/bin/jmeter -j /app/server-1/jmeter/logs/jmeter-traffic.log -n -t /app/jmeter/inputfile.jmx > /dev/null 2>&1 &
ExecStart=/app/jemter/apache-jmeter-5.3/bin/jmeter -j /app/jmeter/logs/jmeter-log -n -t /app/jmeter/inputfile.jmx > /dev/null 2>&1 &
启动服务时-遇到各种错误。
EX: class path contains multiple bindings
EX: Failed to start the service
EX: Failed at step EXEC spawing
EX: an error occured at arg: >
这是启动服务的正确方法还是应该创建包含上述命令的shell脚本文件。
解决方法
systemd对您的>
运算符一无所知,因此建议您保留命令原样:
ExecStart=/app/jmeter/apache-jmeter-5.3/bin/jmeter -j /app/jmeter/logs/jmeter-log -n -t /app/jmeter/inputfile.jmx
如果您不想在日志中看到JMeter的输出,可以amend your systemd unit configuration像这样:
[Service]
StandardOutput=null
StandardError=journal
我还建议添加-l
命令行参数,以便将结果存储到.jtl results file中以供进一步分析