wordpress制作首页模板下载,重庆百度seo排名,wordpress主题+清新,城阳在线网站建设为什么需要分布式#xff1f;
在工作中经常需要对一些关键接口做高QPS的压测#xff0c;JMeter是由Java 语言开发#xff0c;没创建一个线程#xff08;虚拟用户#xff09;#xff0c;JVM默认会为每个线程分配1M的堆栈内存空间。受限于单台试压机的配置很难实现太高的并…为什么需要分布式
在工作中经常需要对一些关键接口做高QPS的压测JMeter是由Java 语言开发没创建一个线程虚拟用户JVM默认会为每个线程分配1M的堆栈内存空间。受限于单台试压机的配置很难实现太高的并发。所以通过JMeter实现分布式可以整合多台主机的硬件资源实现同时对被测试接口进行压力测试。 Jmeter分布式测试环境中有两个角色Master 和 Slaves Master节点向参与的Slaves节点发送测试脚本并聚合Agent节点的执行结果。 Slaves节点接收并执行Master节点发送过来的测试脚本并将执行结果返回给Master。
为什么要使用docker?
如果要分布式联动每台主机就要求每台主机都要有JMeter环境JDK JMeter如果利用docker就可以通过docker管理 JMeter环境简单的拉取镜像启动容器即可。进一步讲利用k8s、云服务可以无限的扩容JMeter试压机理论上多少的并发用户都可以模拟。
准备工作
JDK启动 JMeter 工具需要
$ brew install openjdk11JMeter: 编写JMeter脚本Index of /dist/jmeter/binaries
编写一个简单的脚本。 docker: 通过doker创建容器。
$ docker pull runcare/jmeter-master
$ docker pull runcare/jmeter-slave查看docker镜像
$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE
runcare/jmeter-master latest e052a8cd8680 3 years ago 326MB
runcare/jmeter-slave latest 05c7ba96d97d 3 years ago 326MB请记住 jmeter-master 的镜像ID e052a8cd8680后面会用到。
分布式压测使用
启动 slave 节点。 假设有两台主机可以启动两个slave。
$ docker run -it -d --name slave01 runcare/jmeter-slave
$ docker run -it -d --name slave02 runcare/jmeter-slave查看启动的容器
$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b270636a7741 runcare/jmeter-slave /bin/sh -c jmeter-… 43 seconds ago Up 42 seconds 1099/tcp, 60001/tcp slave01
2584c7fef5f8 runcare/jmeter-slave /bin/sh -c jmeter-… 52 seconds ago Up 50 seconds 1099/tcp, 60001/tcp slave02发送压测脚本到 slave
$ resultdate %Y%m%d%H%M%S docker run --rm -v /Users/fnngj/zhpro/script:/data e052a8cd8680 jmeter -n -t /data/baidu_script.jmx -l /data/$result.jtl -j /data/$result.log -e -o /data/$result -R 172.17.0.2,172.17.0.3参数说明
resultdate %Y%m%d%H%M%S: 指定测试结果的名称以当前日期时间命名。
/Users/fnngj/zhpro/script : 压测脚本的目录测试结果也会存放到该目录下。
baidu_script.jmx : 压测脚本的名称存放于 /Users/fnngj/zhpro/script目录下。
e052a8cd8680 : jmeter-master 的镜像ID。
172.17.0.2,172.17.0.3 两台 slave 的IP 地址。
测试结果
执行完的目录
$ pwd
/Users/fnngj/zhpro/script$ ls
20230707005328 20230707005328.jtl 20230707005328.log baidu_script.jmx查看报告
进入20230707005328 目录点击 index.html 文件可以看到压测的结果。 最后
如果你想学习自动化测试那么下面这套视频应该会帮到你很多 Python接口自动化测试零基础入门到精通2023最新版