Jmeter 基于Docker 实现分布式测试

使用Docker 部署Jmeter非常方便,可以省略软件的安装以及配置,比如jdk、jmeter。需要部署多个工作节点可以节省时间。

在这里插入图片描述

  1. 控制节点(Master-主节点)只有一个,可以使用图形化的界面,方便操作
  2. 工作节点(Slave-从节点)使用Docker部署Jmeter镜像,工作节点的数量越多越好。
  3. 控制节点使用RMI 调用工作节点
  4. 控制节点测试计划设置的线程数量约等于工作节点宿主机能同时工作的线程数,这样能真实模拟用户同时发起的请求,压测的结果也准确些

制作Jmeter基础镜像

  1. 下载jmeter安装包 https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.6.3.tgz
  2. 编写 Dockerfile
FROM openjdk:8-jdk-alpine3.9
ARG JMETER_VERSION=5.6.3

# 设置工作目录
WORKDIR /opt/jmeter

# 复制 Jmeter
COPY apache-jmeter-${JMETER_VERSION}.tgz   ./

# 安装
RUN tar -xvzf apache-jmeter-$JMETER_VERSION.tgz \
    && rm apache-jmeter-$JMETER_VERSION.tgz

# 设置环境变量
ENV JMETER_HOME /opt/jmeter/apache-jmeter-$JMETER_VERSION/
ENV PATH="$JMETER_HOME/bin:${PATH}"
  1. 文件目录关系如下
root@ubuntu:/home/chengdu/jmeter/docker# tree
.
├── apache-jmeter-5.6.3.tgz
├── Dockerfile
└── worker
    └── Dockerfile.worker
  1. 执行编译镜像命令
docker build -t jmeter:5.6.3 .
  1. 查看镜像是否编译成功
root@ubuntu:/home/chengdu/jmeter/docker# docker images|grep jmeter
jmeter                   5.6.3             37a73dacbe58   4 hours ago     342MB
jmeter-5.6.3             worker            80ae9383e488   4 hours ago     342MB

制作工作节点镜像

基于第一步的基础镜像制作

FROM jmeter:5.6.3

# 默认使用1099端口,可以用参数覆盖
ARG RMI_PORT=1099
ARG LOCAL_PORT=50000

ENTRYPOINT $JMETER_HOME/bin/jmeter-server \
                        -Dserver_port=${RMI_PORT} \
                        -Dserver.rmi.localport=${LOCAL_PORT} \
                        -Djava.rmi.server.hostname=${HOST_IP} \
                        -Jserver.rmi.ssl.disable=true

保存为 Dockerfile.worker,运行编译镜像命令

docker build -f Dockerfile.worker -t jmeter-5.6.3:worker .

启动工作节点

启动3个工作节点,注意,HOST_IP 变量可以填写宿主机的IP确保控制节点的网络能当前的宿主机

docker run -p 1099:1099 -p 50000:50000 -e RMI_PORT=1099 -e LOCAL_PORT=50000 -e HOST_IP=192.168.230.128 -it -d --name jmeter-worker-01 jmeter-5.6.3:worker

docker run -p 1100:1100 -p 50001:50001 -e RMI_PORT=1100 -e LOCAL_PORT=50001 -e HOST_IP=192.168.230.128 -it -d --name jmeter-worker-02 jmeter-5.6.3:worker

docker run -p 1101:1101 -p 50002:50002 -e RMI_PORT=1101 -e LOCAL_PORT=50002 -e HOST_IP=192.168.230.128 -it -d --name jmeter-worker-03 jmeter-5.6.3:worker

查看是容器否启动成功了 docker ps
在这里插入图片描述

启动控制节点

  1. 修该 jmeter.properties 的 remote_hosts 配置
remote_hosts = 192.168.230.128:1099,192.168.230.128:1100,192.168.230.128:1101
  1. 启动控制节点,windows 直接点击 jmeter.bat,启动成功之后会看到3个配置的节点
    在这里插入图片描述
  2. 点击远程启动所有
  3. 在容器中查看执行日志
    docker exec -it 98300e4cdea0 /bin/sh 进入容器shell 终端,可以看到有一个日志文件 jmeter-server.log
root@ubuntu:/home/chengdu/jmeter/docker/worker# docker exec -it 98300e4cdea0 /bin/sh
/opt/jmeter # ls
apache-jmeter-5.6.3  jmeter-server.log
/opt/jmeter # tail -200f jmeter-server.log
tail: invalid number '200f'
/opt/jmeter # tail -200 jmeter-server.log
2024-02-03 08:26:26,214 INFO o.a.j.u.JMeterUtils: Setting Locale to en_EN
2024-02-03 08:26:26,295 INFO o.a.j.JMeter: Loading user properties from: /opt/jmeter/apache-jmeter-5.6.3/bin/user.properties
2024-02-03 08:26:26,296 INFO o.a.j.JMeter: Loading system properties from: /opt/jmeter/apache-jmeter-5.6.3/bin/system.properties
2024-02-03 08:26:26,296 INFO o.a.j.JMeter: Setting System property: server_port=1099
2024-02-03 08:26:26,297 INFO o.a.j.JMeter: Setting System property: server_port=1101
2024-02-03 08:26:26,297 INFO o.a.j.JMeter: Setting System property: server.rmi.localport=50002
2024-02-03 08:26:26,297 INFO o.a.j.JMeter: Setting System property: java.rmi.server.hostname=192.168.230.128
2024-02-03 08:26:26,297 INFO o.a.j.JMeter: Setting JMeter property: server.rmi.ssl.disable=true
2024-02-03 08:26:26,324 INFO o.a.j.JMeter: Copyright (c) 1998-2024 The Apache Software Foundation
2024-02-03 08:26:26,324 INFO o.a.j.JMeter: Version 5.6.3
2024-02-03 08:26:26,324 INFO o.a.j.JMeter: java.version=1.8.0_212
2024-02-03 08:26:26,324 INFO o.a.j.JMeter: java.vm.name=OpenJDK 64-Bit Server VM
2024-02-03 08:26:26,324 INFO o.a.j.JMeter: os.name=Linux
2024-02-03 08:26:26,324 INFO o.a.j.JMeter: os.arch=amd64
2024-02-03 08:26:26,325 INFO o.a.j.JMeter: os.version=5.15.0-71-generic
2024-02-03 08:26:26,325 INFO o.a.j.JMeter: file.encoding=UTF-8
2024-02-03 08:26:26,325 INFO o.a.j.JMeter: java.awt.headless=true
2024-02-03 08:26:26,325 INFO o.a.j.JMeter: Max memory     =1073741824
2024-02-03 08:26:26,325 INFO o.a.j.JMeter: Available Processors =2
2024-02-03 08:26:26,342 INFO o.a.j.JMeter: Default Locale=English (EN)
2024-02-03 08:26:26,343 INFO o.a.j.JMeter: JMeter  Locale=English (EN)
2024-02-03 08:26:26,343 INFO o.a.j.JMeter: JMeterHome=/opt/jmeter/apache-jmeter-5.6.3
2024-02-03 08:26:26,343 INFO o.a.j.JMeter: user.dir  =/opt/jmeter
2024-02-03 08:26:26,343 INFO o.a.j.JMeter: PWD       =/opt/jmeter
2024-02-03 08:26:26,344 INFO o.a.j.JMeter: IP: 172.17.0.4 Name: 98300e4cdea0 FullName: 98300e4cdea0
2024-02-03 08:26:26,444 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2024-02-03 08:26:26,444 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2024-02-03 08:26:26,579 INFO o.a.j.e.RemoteJMeterEngineImpl: Starting backing engine on 1101
2024-02-03 08:26:26,579 INFO o.a.j.r.RmiUtils: Resolving by name the value of System property 'java.rmi.server.hostname': 192.168.230.128
2024-02-03 08:26:26,580 INFO o.a.j.r.RmiUtils: Local IP address=192.168.230.128
2024-02-03 08:26:26,580 INFO o.a.j.e.RemoteJMeterEngineImpl: IP address is a site-local address; this may cause problems with remote access.
        Can be overridden by defining the system property 'java.rmi.server.hostname' - see jmeter-server script file
2024-02-03 08:26:26,581 INFO o.a.j.e.RemoteJMeterEngineImpl: Creating RMI registry (server.rmi.create=true)
2024-02-03 08:26:26,581 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2024-02-03 08:26:26,581 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2024-02-03 08:26:26,589 INFO o.a.j.e.RemoteJMeterEngineImpl: Bound to RMI registry on port 1101
2024-02-03 08:30:46,724 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2024-02-03 08:30:46,984 INFO o.a.j.s.BatchSampleSender: Using batching for this run. Thresholds: num=100, time=60000
2024-02-03 08:30:46,985 INFO o.a.j.s.DataStrippingSampleSender: Using DataStrippingSampleSender for this run with stripAlsoOnError: true
2024-02-03 08:30:46,986 INFO o.a.j.s.BatchSampleSender: Using batching for this run. Thresholds: num=100, time=60000
2024-02-03 08:30:46,986 INFO o.a.j.s.DataStrippingSampleSender: Using DataStrippingSampleSender for this run with stripAlsoOnError: true
2024-02-03 08:30:47,111 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2024-02-03 08:30:47,112 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2024-02-03 08:30:47,112 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2024-02-03 08:30:47,115 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2024-02-03 08:30:47,121 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser
2024-02-03 08:30:47,121 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser
2024-02-03 08:30:47,214 INFO o.a.j.p.h.c.CookieManager: Settings: Delete null: true Check: true Allow variable: true Save: false Prefix: COOKIE_
2024-02-03 08:30:47,227 INFO o.a.j.s.BatchSampleSender: Using batching for this run. Thresholds: num=100, time=60000
2024-02-03 08:30:47,227 INFO o.a.j.s.DataStrippingSampleSender: Using DataStrippingSampleSender for this run with stripAlsoOnError: true
2024-02-03 08:30:47,310 INFO o.a.j.e.RemoteJMeterEngineImpl: Creating JMeter engine on host 192.168.230.128:1101 base '.'
2024-02-03 08:30:47,310 INFO o.a.j.e.RemoteJMeterEngineImpl: Remote client host: 192.168.230.1
2024-02-03 08:30:47,339 INFO o.a.j.s.FileServer: Default base='/opt/jmeter'
2024-02-03 08:30:47,357 INFO o.a.j.s.FileServer: Set new base='.'
2024-02-03 08:30:47,364 INFO o.a.j.e.StandardJMeterEngine: Applying properties {}
2024-02-03 08:30:47,413 INFO o.a.j.e.RemoteJMeterEngineImpl: Running test
2024-02-03 08:30:47,461 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2024-02-03 08:30:47,462 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2024-02-03 08:30:47,541 INFO o.a.j.e.u.CompoundVariable: Note: Function class names must contain the string: '.functions.'
2024-02-03 08:30:47,541 INFO o.a.j.e.u.CompoundVariable: Note: Function class names must not contain the string: '.gui.'
2024-02-03 08:30:51,297 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : 分布式测试
2024-02-03 08:30:51,298 INFO o.a.j.e.StandardJMeterEngine: Starting 10 threads for group 分布式测试.
2024-02-03 08:30:51,298 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2024-02-03 08:30:51,298 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=10 ramp-up=1 delayedStart=false
2024-02-03 08:30:51,449 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2024-02-03 08:30:51,450 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2024-02-03 08:30:51,516 INFO o.a.j.t.JMeterThread: Thread started: 192.168.230.128:1101-分布式测试 1-1
2024-02-03 08:30:51,592 INFO o.a.j.t.JMeterThread: Thread started: 192.168.230.128:1101-分布式测试 1-2
2024-02-03 08:30:51,681 INFO o.a.j.t.JMeterThread: Thread started: 192.168.230.128:1101-分布式测试 1-3
2024-02-03 08:30:51,761 INFO o.a.j.t.JMeterThread: Thread started: 192.168.230.128:1101-分布式测试 1-4
2024-02-03 08:30:51,853 INFO o.a.j.t.JMeterThread: Thread started: 192.168.230.128:1101-分布式测试 1-5
2024-02-03 08:30:51,857 INFO o.a.j.p.h.s.HTTPHCAbstractImpl: Local host = 98300e4cdea0
2024-02-03 08:30:51,925 INFO o.a.j.t.JMeterThread: Thread started: 192.168.230.128:1101-分布式测试 1-6
2024-02-03 08:30:51,950 INFO o.a.j.p.h.s.HTTPHC4Impl: HTTP request retry count = 0
2024-02-03 08:30:51,972 INFO o.a.j.s.SampleResult: Note: Sample TimeStamps are START times
2024-02-03 08:30:51,972 INFO o.a.j.s.SampleResult: sampleresult.default.encoding is set to UTF-8
2024-02-03 08:30:51,972 INFO o.a.j.s.SampleResult: sampleresult.useNanoTime=true
2024-02-03 08:30:51,974 INFO o.a.j.s.SampleResult: sampleresult.nanoThreadSleep=5000
2024-02-03 08:30:52,023 INFO o.a.j.t.JMeterThread: Thread started: 192.168.230.128:1101-分布式测试 1-7
2024-02-03 08:30:52,122 INFO o.a.j.t.JMeterThread: Thread started: 192.168.230.128:1101-分布式测试 1-8
2024-02-03 08:30:52,192 INFO o.a.j.t.JMeterThread: Thread started: 192.168.230.128:1101-分布式测试 1-9
2024-02-03 08:30:52,297 INFO o.a.j.t.JMeterThread: Thread started: 192.168.230.128:1101-分布式测试 1-10
2024-02-03 08:30:53,189 INFO o.a.j.t.JMeterThread: Thread is done: 192.168.230.128:1101-分布式测试 1-3
2024-02-03 08:30:53,190 INFO o.a.j.t.JMeterThread: Thread finished: 192.168.230.128:1101-分布式测试 1-3
2024-02-03 08:30:53,217 INFO o.a.j.t.JMeterThread: Thread is done: 192.168.230.128:1101-分布式测试 1-10
2024-02-03 08:30:53,217 INFO o.a.j.t.JMeterThread: Thread finished: 192.168.230.128:1101-分布式测试 1-10
2024-02-03 08:30:53,218 INFO o.a.j.t.JMeterThread: Thread is done: 192.168.230.128:1101-分布式测试 1-2
2024-02-03 08:30:53,227 INFO o.a.j.t.JMeterThread: Thread finished: 192.168.230.128:1101-分布式测试 1-2
2024-02-03 08:30:53,243 INFO o.a.j.t.JMeterThread: Thread is done: 192.168.230.128:1101-分布式测试 1-6
2024-02-03 08:30:53,243 INFO o.a.j.t.JMeterThread: Thread finished: 192.168.230.128:1101-分布式测试 1-6
2024-02-03 08:30:53,245 INFO o.a.j.t.JMeterThread: Thread is done: 192.168.230.128:1101-分布式测试 1-1
2024-02-03 08:30:53,246 INFO o.a.j.t.JMeterThread: Thread finished: 192.168.230.128:1101-分布式测试 1-1
2024-02-03 08:30:53,246 INFO o.a.j.t.JMeterThread: Thread is done: 192.168.230.128:1101-分布式测试 1-7
2024-02-03 08:30:53,246 INFO o.a.j.t.JMeterThread: Thread finished: 192.168.230.128:1101-分布式测试 1-7
2024-02-03 08:30:53,250 INFO o.a.j.t.JMeterThread: Thread is done: 192.168.230.128:1101-分布式测试 1-4
2024-02-03 08:30:53,352 INFO o.a.j.t.JMeterThread: Thread finished: 192.168.230.128:1101-分布式测试 1-4
2024-02-03 08:30:53,354 INFO o.a.j.t.JMeterThread: Thread is done: 192.168.230.128:1101-分布式测试 1-5
2024-02-03 08:30:53,354 INFO o.a.j.t.JMeterThread: Thread finished: 192.168.230.128:1101-分布式测试 1-5
2024-02-03 08:30:53,428 INFO o.a.j.t.JMeterThread: Thread is done: 192.168.230.128:1101-分布式测试 1-8
2024-02-03 08:30:53,430 INFO o.a.j.t.JMeterThread: Thread finished: 192.168.230.128:1101-分布式测试 1-8
2024-02-03 08:30:53,469 INFO o.a.j.t.JMeterThread: Thread is done: 192.168.230.128:1101-分布式测试 1-9
2024-02-03 08:30:53,469 INFO o.a.j.t.JMeterThread: Thread finished: 192.168.230.128:1101-分布式测试 1-9
2024-02-03 08:30:53,476 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2024-02-03 08:30:53,476 INFO o.a.j.s.DataStrippingSampleSender: Test Ended on 192.168.230.128:1101
2024-02-03 08:30:53,477 INFO o.a.j.s.BatchSampleSender: Test Ended on 192.168.230.128:1101
2024-02-03 08:30:53,545 INFO o.a.j.s.DataStrippingSampleSender: Test Ended on 192.168.230.128:1101
2024-02-03 08:30:53,546 INFO o.a.j.s.BatchSampleSender: Test Ended on 192.168.230.128:1101
2024-02-03 08:30:53,567 INFO o.a.j.s.DataStrippingSampleSender: Test Ended on 192.168.230.128:1101
2024-02-03 08:30:53,567 INFO o.a.j.s.BatchSampleSender: Test Ended on 192.168.230.128:1101
2024-02-03 08:30:53,589 INFO o.a.j.e.StandardJMeterEngine: Test has ended on host 192.168.230.128:1101
  1. 查看运行结果
    在这里插入图片描述

遇到的问题

  1. 宿主机和容器网络不通,需要Docker重置网络,步骤
# 停止所有容器
root@ubuntu:/home/chengdu/jmeter/docker/worker# docker stop $(docker ps -aq)
7aa491cf6145
67f090336f59
5c456dd2242a
# 移除网桥
docker network rm bridge
# 重启docker服务,重新生成网桥
sudo service docker restart
  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Jmeter各个版本下载地址(包括所有版本) [ ] apache-jmeter-2.10.tgz 2013-10-20 16:32 28M [TXT] apache-jmeter-2.10.tgz.asc 2013-10-20 16:32 836 [ ] apache-jmeter-2.10.tgz.md5 2013-10-20 16:32 56 [ ] apache-jmeter-2.10.tgz.sha 2013-10-20 16:32 64 [ ] apache-jmeter-2.10.zip 2013-10-20 16:32 30M [TXT] apache-jmeter-2.10.zip.asc 2013-10-20 16:32 836 [ ] apache-jmeter-2.10.zip.md5 2013-10-20 16:32 56 [ ] apache-jmeter-2.10.zip.sha 2013-10-20 16:32 64 [ ] apache-jmeter-2.11.tgz 2014-01-04 13:30 28M [TXT] apache-jmeter-2.11.tgz.asc 2014-01-04 13:30 836 [ ] apache-jmeter-2.11.tgz.md5 2014-01-04 13:30 56 [ ] apache-jmeter-2.11.tgz.sha 2014-01-04 13:30 64 [ ] apache-jmeter-2.11.zip 2014-01-04 13:30 30M [TXT] apache-jmeter-2.11.zip.asc 2014-01-04 13:30 836 [ ] apache-jmeter-2.11.zip.md5 2014-01-04 13:30 56 [ ] apache-jmeter-2.11.zip.sha 2014-01-04 13:30 64 [ ] apache-jmeter-2.12.tgz 2014-11-09 10:42 30M [TXT] apache-jmeter-2.12.tgz.asc 2014-11-09 10:42 836 [ ] apache-jmeter-2.12.tgz.md5 2014-11-09 10:42 56 [ ] apache-jmeter-2.12.tgz.sha 2014-11-09 10:42 64 [ ] apache-jmeter-2.12.zip 2014-11-09 10:42 32M [TXT] apache-jmeter-2.12.zip.asc 2014-11-09 10:42 836 [ ] apache-jmeter-2.12.zip.md5 2014-11-09 10:42 56 [ ] apache-jmeter-2.12.zip.sha 2014-11-09 10:42 64 [ ] apache-jmeter-2.13.tgz 2015-03-13 19:30 34M [TXT] apache-jmeter-2.13.tgz.asc 2015-03-13 19:30 819 [ ] apache-jmeter-2.13.tgz.md5 2015-03-13 19:30 56 [ ] apache-jmeter-2.13.tgz.sha 2015-03-13 19:30 64 [ ] apache-jmeter-2.13.zip 2015-03-13 19:30 36M [TXT] apache-jmeter-2.13.zip.asc 2015-03-13 19:30 819 [ ] apache-jmeter-2.13.zip.md5 2015-03-13 19:30 56 [ ] apache-jmeter-2.13.zip.sha 2015-03-13 19:30 64 [ ] apache-jmeter-2.6.tgz 2012-02-01 19:59 21M [TXT] apache-jmeter-2.6.tgz.asc 2012-02-01 19:59 836 [ ] apache-jmeter-2.6.tgz.md5 2012-02-01 19:59 55 [ ] apache-jmeter-2.6.tgz.sha 2012-02-01 19:59 63 [ ] apache-jmeter-2.6.zip 2012-02-01 19:59 23M [TXT] apache-jmeter-2.6.zip.asc 2012-02-01 19:59 836 [ ] apache-jmeter-2.6.zip.md5 2012-02-01 19:59 55 [ ] apache-jmeter-2.6.zip.sha 2012-02-01 19:59 63 [ ] apache-jmeter-2.7.tgz 2012-05-27 21:08 22M [TXT] apache-jmeter-2.7.tgz.asc 2012-05-27 21:08 836 [ ] apache-jmeter-2.7.tgz.md5 2012-05-27 21:08 55 [ ] apache-jmeter-2.7.tgz.sha 2012-05-27 21:08 63 [ ] apache-jmeter-2.7.zip 2012-05-27 21:08 24M [TXT] apache-jmeter-2.7.zip.asc 2012-05-27 21:08 836 [ ] apache-jmeter-2.7.zip.md5 2012-05-27 21:08 55 [ ] apache-jmeter-2.7.zip.sha 2012-05-27 21:08 63 [ ] apache-jmeter-2.8.tgz 2012-11-26 01:30 23M [TXT] apache-jmeter-2.8.tgz.asc 2012-11-26 01:30 836 [ ] apache-jmeter-2.8.tgz.md5 2012-11-26 01:30 55 [ ] apache-jmeter-2.8.tgz.sha 2012-11-26 01:30 63 [ ] apache-jmeter-2.8.zip 2012-11-26 01:30 25M [TXT] apache-jmeter-2.8.zip.asc 2012-11-26 01:30 836 [ ] apache-jmeter-2.8.zip.md5 2012-11-26 01:30 55 [ ] apache-jmeter-2.8.zip.sha 2012-11-26 01:30 63 [ ] apache-jmeter-2.9.tgz 2013-01-27 17:28 25M [TXT] apache-jmeter-2.9.tgz.asc 2013-01-27 17:28 836 [ ] apache-jmeter-2.9.tgz.md5 2013-01-27 17:28 55 [ ] apache-jmeter-2.9.tgz.sha 2013-01-27 17:28 63 [ ] apache-jmeter-2.9.zip 2013-01-27 17:28 27M [TXT] apache-jmeter-2.9.zip.asc 2013-01-27 17:28 836 [ ] apache-jmeter-2.9.zip.md5 2013-01-27 17:28 55 [ ] apache-jmeter-2.9.zip.sha 2013-01-27 17:28 63 [ ] apache-jmeter-3.0.tgz 2016-05-17 18:34 43M [TXT] apache-jmeter-3.0.tgz.asc 2016-05-17 18:34 819 [ ] apache-jmeter-3.0.tgz.md5 2016-05-17 18:34 55 [ ] apache-jmeter-3.0.tgz.sha 2016-05-17 18:34 63 [ ] apache-jmeter-3.0.zip 2016-05-17 18:34 46M [TXT] apache-jmeter-3.0.zip.asc 2016-05-17 18:34 819 [ ] apache-jmeter-3.0.zip.md5 2016-05-17 18:34 55 [ ] apache-jmeter-3.0.zip.sha 2016-05-17 18:34 63 [ ] apache-jmeter-3.1.tgz 2016-11-19 22:49 45M [TXT] apache-jmeter-3.1.tgz.asc 2016-11-19 22:49 801 [ ] apache-jmeter-3.1.tgz.md5 2016-11-19 22:49 55 [ ] apache-jmeter-3.1.tgz.sha 2016-11-19 22:49 63 [ ] apache-jmeter-3.1.zip 2016-11-19 22:49 48M [TXT] apache-jmeter-3.1.zip.asc 2016-11-19 22:49 801 [ ] apache-jmeter-3.1.zip.md5 2016-11-19 22:49 55 [ ] apache-jmeter-3.1.zip.sha 2016-11-19 22:49 63 [ ] apache-jmeter-3.2.tgz 2017-04-13 18:07 48M [TXT] apache-jmeter-3.2.tgz.asc 2017-04-13 18:07 833 [ ] apache-jmeter-3.2.tgz.md5 2017-04-13 18:07 55 [ ] apache-jmeter-3.2.tgz.sha 2017-04-13 18:07 63 [ ] apache-jmeter-3.2.zip 2017-04-13 18:07 51M [TXT] apache-jmeter-3.2.zip.asc 2017-04-13 18:07 833 [ ] apache-jmeter-3.2.zip.md5 2017-04-13 18:07 55 [ ] apache-jmeter-3.2.zip.sha 2017-04-13 18:07 63 [ ] apache-jmeter-3.3.tgz 2017-09-21 06:27 49M [TXT] apache-jmeter-3.3.tgz.asc 2017-09-21 06:27 833 [ ] apache-jmeter-3.3.tgz.md5 2017-09-21 06:27 55 [ ] apache-jmeter-3.3.tgz.sha512 2017-09-21 06:27 151 [ ] apache-jmeter-3.3.zip 2017-09-21 06:27 52M [TXT] apache-jmeter-3.3.zip.asc 2017-09-21 06:27 833 [ ] apache-jmeter-3.3.zip.md5 2017-09-21 06:27 55 [ ] apache-jmeter-3.3.zip.sha512 2017-09-21 06:27 151 [ ] jakarta-jmeter-2.5.1.tgz 2011-10-03 20:43 18M [TXT] jakarta-jmeter-2.5.1.tgz.asc 2011-10-03 20:43 836 [ ] jakarta-jmeter-2.5.1.tgz.md5 2011-10-03 20:43 58 [ ] jakarta-jmeter-2.5.1.tgz.sha 2011-10-03 20:43 66 [ ] jakarta-jmeter-2.5.1.zip 2011-10-03 20:43 20M [TXT] jakarta-jmeter-2.5.1.zip.asc 2011-10-03 20:43 836 [ ] jakarta-jmeter-2.5.1.zip.md5 2011-10-03 20:43 58 [ ] jakarta-jmeter-2.5.1.zip.sha 2011-10-03 20:43 66 ........................................
在进行docker jmeter分布式压测时,如果出现错误,可以按以下步骤进行排查和解决: 1. 首先,检查各台slaver机器是否按照要求安装了相同版本的jdk和jmeter,并且在相同的目录下安装。确保各机器的环境配置一致。 2. 确认/etc/hosts的IP和hostname的映射是否正确配置,确保各机器之间可以相互通信。 3. 修改各机器的jmeter的默认内存参数,根据实际需求调整为合适的大小。这可以提高性能并减少出现异常的可能性。 4. 如果在压测过程中出现异常或错误,可以查看服务端的日志,检查是否有异常或错误信息。根据提示信息定位问题,可以根据服务端的业务架构逐层排查,直到找到发生问题的服务。 5. 对于出现的异常或错误信息,可以自行分析解决。例如,"Response code: 500"通常表示服务端出现问题。可以通过查看服务端的日志,根据提示信息来定位分析问题。对于不熟悉的错误信息,建议使用Google进行搜索,可能会找到一些可行的解决方案。 总结: 在使用docker jmeter进行分布式压测时,如果出现错误,首先要确保各机器的环境配置一致,然后检查配置文件和日志等相关信息,逐步排查问题并尝试解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [微服务项目容器编排docker-compose.yml、Dockerfile文件模板、相关配置文件、shell脚本](https://download.csdn.net/download/qq_45629145/88248761)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Jmeter压测思路+实操+报告分析](https://blog.csdn.net/qq_34671951/article/details/96477884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chengdu.S

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值