安装jdk-8u151-windows-x64.exe,无脑下一步
添加JAVA_HOME C:\Program Files\Java\jdk1.8.0_151
如下图
添加JMETER_HOME D:\办公\3.软件\jmeter5.1+java1.8\apache-jmeter-5.3
如下图
添加CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar
如下图
添加Path %JAVA_HOME%\bin %JAVA_HOME%\jre\bin %JMETER_HOME%\bin
如下图
根据测试需求配置需要的线程(这里创建一个web接口的测试模板提供参考) 添加请求头header 测试地址根据需求填写,注意下图要勾选使用keepalive (不勾选keep-alive的时候,当建立连接,数据传输完毕之后,服务器就会率先发起断开连接的操作,这个时候连接的状态为TIME_WAIT,并会保持2MSL(即两倍的分段最大生存期)。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以会严重影响服务器的处理能力,甚至耗尽socket,导致其他的请求不能处理。)
单机压测,查看报告
开启slave 把安装包分发到slave机器 如上配置文件中填写的 172.168.0.2,172.168.0.3,172.168.0.4 在slave机上启动客户端jmeter-server.bat 启动后,如下图看到slave已经启动。 slave机启动后,在master选择 运行,远程启动/远程启动所有,就可以分布式的多台slave机一起压测了。
1)下载rpm包jdk-8u101-linux-x64.rpm上次到服务器 2)安装jdk-rpm包
rpm -ivh jdk-8u101-linux-x64.rpm3)验证安装是否生效
java -version4)jmeter上传于解压 上传apache-jmeter-5.3.zip到服务启 #解压
#解压 unzip apache-jmeter-5.3.zip -d /usr/local/ chmod 777 /usr/local/apache-jmeter-5.3/bin/jmeter chmod 777 /usr/local/apache-jmeter-5.3/bin/jmeter-server修改/etc/profile文件,并添加:
#vi /etc/profile #插入一下内容 export JMETER_HOME=/usr/local/apache-jmeter-5.3 export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH export PATH=$JMETER_HOME/bin:$PATH配置的环境变量即可生效
source /etc/profile验证jmeter安装是否生效
jmeter --version1)配置jmeter的使用内存,根据实际服务器和测试需求量来修改
vi /usr/local/apache-jmeter-5.3/bin/jmeter2)优化linux内存参数 修改limits.conf文件,并添加:
#vi /etc/security/limits.conf * soft nofile 102400 * hard nofile 102400 * soft nproc 65535 * hard nproc 65535重新打开SSH终端,执行如下命令查看是否生效
ulimit -n修改/etc/sysctl.conf文件,并添加:
vi /etc/sysctl.conf net.ipv4.tcp_syncookies = 0 fs.file-max = 12553500 fs.nr_open = 12453500 kernel.shmall= 1048576 kernel.shmmax = 1887436 kernel.msgmax = 65536 kernel.sysrq = 0 kernel.pid_max= 65536 net.core.netdev_max_backlog = 2000000 net.core.rmem_default = 699040 net.core.rmem_max = 50331648 net.core.wmem_default = 131072 net.core.wmem_max = 33554432 net.core.somaxconn = 65535 net.ipv4.ip_nonlocal_bind = 1 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.tcp_mem = 1048576 1572864 2097152 net.ipv4.tcp_rmem = 4096 4194304 8388608 net.ipv4.tcp_wmem = 4096 4194304 8388608 net.ipv4.tcp_slow_start_after_idle = 0 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_window_scaling = 1 vm.swappiness = 0 #TCP connection recovery net.ipv4.tcp_max_tw_buckets = 6000000 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 30 net.ipv4.route.max_size = 5242880 net.ipv4.ip_forward = 1 #0表示不开启检查时间错,建议设置0 net.ipv4.tcp_timestamps = 0 #开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用 #TCP connection manager net.ipv4.tcp_max_syn_backlog = 655360 net.ipv4.tcp_syn_retries = 6 net.ipv4.tcp_retries1 = 3 net.ipv4.tcp_retries2 = 6 #TCP keepalive net.ipv4.ip_local_port_range = 1025 65534 net.ipv4.tcp_keepalive_time = 30 net.ipv4.tcp_keepalive_intvl = 30 net.ipv4.tcp_keepalive_probes = 3输入下面的命令,让内核参数生效:
sysctl-p通过windows打开jmeter,同上面windows配置把需要压测的信息配置完成后,保存为****.jmx文件,上传到linux服务。
1)先分别启动slave上的服务,命令如下
jmeter-server -Djava.rmi.server.hostname=172.168.0.2 #本地IP2)启动master,命令如下
jmeter -n -t ****.jmx -r -l /tmp/result/test.jtl -e -o /tmp/report参数 n:非gui运行 t:指定测试脚本 R:指定多少个 agent 启动并参与测试 r: 代表全部 agent 启动并参与测试 l:生成测试结果文件
将linux下的report打包成zip,然后导出到windows下查看index.html测试报告