ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【JMeter】分布式压测配置教程

【JMeter】分布式压测配置教程 文章目录jdk安装jmeter环境搭建不管是控制机还是压测机)前置条件master机器配置slave机器配置master机器运行执行结果说明jdk安装yum install -y java-1.8.0-openjdkjmeter环境搭建不管是控制机还是压测机)mkdir /usr/local/jmeter将apache-jmeter-5.4.1.zip丢到/usr/local/jmeter目录安装zip工具yum install -y unzip zipcd /usr/local/jmeter解压到当前文件夹unzip apache-jmeter-5.4.1.zip删除压缩包rm -rf apache-jmeter-5.4.1.zip配置环境变量vi /etc/profile文件最后追加环境变量export JMETER_HOME/usr/local/jmeter/apache-jmeter-5.4.1export CLASSPATH$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATHexport PATH$JMETER_HOME/bin:$PATHsource /etc/profile使配置生效授权 cd /usr/local/jmeter/apache-jmeter-5.4.1/binchmod -R 777 jmeter 否则报错验证jmeter是否安装成功jmeter-v 若提示permission denied, cd /usr/local/jmeter/apache-jmeter-5.4.1/bin chmod —R 777 jmeter47,100.91.218 10.0.0.116机器为master机106.14.112.132 10.0.0.42为slave1机前置条件在所有期望运行jmeter作为负载机的机器上安装jmeter并确定其中一台机器作为控制机control其他机器作为代理机agent所有机器上的jmeter版本需保持一致所有机器上的jdk版本需保持一致确保jmeter及jdk的环境变量配置正确如果需要使用csv进行参数化参数文件必须拷贝到每台代理机agent上且路径必须一致需确保所有机器的防火墙都处于关闭状态确保控制机control与所有代理机agent都处于同一局域网内。master机器配置在调度机上修改bin/jmeter.properties,添加执行机的IP及端口使用-r启动所有从机1099是默认的rmi通信端口取消server.rmi.ssl.disablefalse的中注释并将false改为true(否则会报“Exception creating connection to:192.16..;nested exception is:java.io.FileNotFoundException:rmi_keystore.jks(系统找不到指定的文件)”错误若master机也做slave机配置master机内网ip不要配置127.0.0.1slave机器配置访问执行机上JMeter的bin路径修改jmeter.properties,server.rmi.ssl.disabletrue, httpclient.timeout1000;修改jmeter-server 去掉RMI_HOST_DEF前面的#,未尾的XX改成当前主机ip。执行imeter-server若master机器也要做slave机同样操作若有多台重复操作master机器执行telnet 10.0.0.42 1099master机器运行Windows运行bin目录下的jmeter.bat 文件打开jmeterMacOs/Linux启动jmeter启动命令./jmeter.sh页面执行命令行执行-n : 表示non gui mode 非图形化模式-t : testplan 后跟要运行的jmeter脚本路径和脚本名称-l : 指定生成测试结果的保存文件jtl 文件格式-r : 启动所有远程的代理机agent用在分布式测试场景下不是分布式只是单点就不需要-r-R : 指定某些机器-H : 设置Jmeter使用的代理主机-P : 设置Jmeter使用的代理主机的端口-e : 测试结束后生成测试报告-o : 指定测试报告的存放位置执行结果说明控制机control会将jmeter脚本分发至每一台要参与本次测试的代理机agent在执行的过程中不会进行负载均衡即脚本设置的线程组为100那么每台代理机agent也将会启动100个线程来进行测试远程启动测试后所有代理机会执行与控制机一样的脚本测试执行结束后控制机control会收集所有的代理机agent的执行结果并做汇总执行日志信息可在生成的jmeter.log跟jmeter-server.log查看内含代理机的所有执行信息。举例说明控制器control的脚本设置的线程组为100接口总执行次数控制在10000代理机信息有两台那么测试执行结束之后最终的结果将会是两台代理机agent的总和线程总数100100200接口执行次数100001000020000其余信息雷同。
返回列表