Jmeter服务器压力测试

版权声明:转载请注明出处。 https://blog.csdn.net/Xin_101/article/details/82747460

1 测试环境及部署

  • Ubuntu
  • Java8
  • Jmeter
  • Win10

1.1Win10环境部署

Java8环境部署
Jmeter安装

1.2 Ubuntu环境部署

Java8环境部署
Jmeter环境部署

2 插件安装

2.1 win10插件

JMeterPlugins-Standard-1.4.0.zip
JMeterPlugins-Extras-1.4.0.zip

2.2 Ubuntu插件

ServerAgent-2.2.1.zip
sh ./startAgent.sh

3 测试结果及分析

测试结果

图3.1 测试结果

4 问题总结

问题1

ERROR: java.net.ConnectException: Connection refused: connect

原因

服务器端未使用代理

解决方案

服务器端安装ServerAgent插件
下载ServerAgent
解压至自定义文件夹
安装Java8环境
运行startAgent.sh
sh ./startAgent.sh
#默认绑定端口4444
INFO    2018-09-18 09:50:40.480 [kg.apc.p] (): Binding UDP to 4444
INFO    2018-09-18 09:50:41.481 [kg.apc.p] (): Binding TCP to 4444
INFO    2018-09-18 09:50:41.484 [kg.apc.p] (): JP@GC Agent v2.2.3 started
#绑定指定端口8099,port可更改为空闲任意端口
java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 8099 --tcp-port 8099
INFO    2018-09-18 09:57:09.517 [kg.apc.p] (): Binding UDP to 8099
INFO    2018-09-18 09:57:10.518 [kg.apc.p] (): Binding TCP to 8099
INFO    2018-09-18 09:57:10.521 [kg.apc.p] (): JP@GC Agent v2.2.3 started

问题2

java.net.SocketException: Permission denied
	at sun.nio.ch.Net.bind0(Native Method)
	at sun.nio.ch.Net.bind(Net.java:433)
	at sun.nio.ch.Net.bind(Net.java:425)
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
	at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
	at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67)
	at kg.apc.perfmon.PerfMonWorker.listenTCP(PerfMonWorker.java:135)
	at kg.apc.perfmon.PerfMonWorker.startAcceptingCommands(PerfMonWorker.java:114)
	at kg.apc.perfmon.AgentTool.processParams(AgentTool.java:72)
	at kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:63)
	at kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:23)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at kg.apc.cmd.UniversalRunner.main(UniversalRunner.java:174)

原因

Ubuntu非root用户不可使用1024以下的端口,改用1024以上的端口,如1025,且需要检查端口冲突,命令如下:

解决方案

#检查端口是否空闲
xindq@localhost:lsof -i:port
#端口被占用
COMMAND   PID  USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
python  14458 xindq    4u  IPv4 15392149      0t0  TCP *:8090 (LISTEN)
python  14474 xindq    4u  IPv4 15392149      0t0  TCP *:8090 (LISTEN)
python  14474 xindq    5u  IPv4 15392149      0t0  TCP *:8090 (LISTEN)
#端口未占用则直接进入命令行
xindq@localhost:lsof -i:8099
xindq@localhost:
#修改服务器ServerAgent端口
java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 8099 --tcp-port 8099
INFO    2018-09-18 09:57:09.517 [kg.apc.p] (): Binding UDP to 8099
INFO    2018-09-18 09:57:10.518 [kg.apc.p] (): Binding TCP to 8099
INFO    2018-09-18 09:57:10.521 [kg.apc.p] (): JP@GC Agent v2.2.3 started

更新ing

猜你喜欢

转载自blog.csdn.net/Xin_101/article/details/82747460
今日推荐