Easy-Jmeter 1.0 平台部署实战:5分钟完成 Docker Compose 一键部署与压力机配置
·
Easy-Jmeter 1.0 平台部署实战:5分钟完成 Docker Compose 一键部署与压力机配置
性能测试是确保系统稳定性和可靠性的关键环节,而Easy-Jmeter作为基于JMeter的企业级性能测试平台,通过容器化部署大幅简化了传统性能测试的复杂度。本文将带您从零开始,在5分钟内完成全套环境的快速部署。
1. 环境准备与前置条件
在开始部署前,请确保您的Linux服务器满足以下基础要求:
- Docker Engine :版本不低于20.10.7
- Docker Compose :版本不低于1.29.2
- 硬件配置 :
- 最低:4核CPU/8GB内存/50GB存储
- 推荐:8核CPU/16GB内存/100GB SSD存储
- 网络环境 :
- 开放端口:3000(前端)、8080(后端)、9092(MinIO)
- 带宽:建议≥100Mbps(分布式压测时需更高)
提示:可通过
docker-compose version和docker --version命令验证组件版本
2. 一键部署实战
2.1 配置文件准备
创建 docker-compose.yml 文件,内容如下:
version: '3.8'
services:
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: jmeter@123
MYSQL_DATABASE: easy_jmeter
volumes:
- mysql_data:/var/lib/mysql
ports:
- "3306:3306"
minio:
image: minio/minio
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: jmeter@123
volumes:
- minio_data:/data
ports:
- "9092:9000"
- "9001:9001"
influxdb:
image: influxdb:1.8
volumes:
- influxdb_data:/var/lib/influxdb
ports:
- "8086:8086"
backend:
image: guojiaxing/easy-jmeter-api:1.0
depends_on:
- mysql
- minio
- influxdb
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/easy_jmeter
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: jmeter@123
MINIO_ENDPOINT: http://minio:9000
MINIO_ACCESSKEY: admin
MINIO_SECRETKEY: jmeter@123
ports:
- "8080:8080"
frontend:
image: guojiaxing/easy-jmeter-web:1.0
depends_on:
- backend
ports:
- "3000:80"
volumes:
mysql_data:
minio_data:
influxdb_data:
2.2 启动与验证
执行以下命令启动服务:
# 拉取镜像并启动容器
docker-compose up -d
# 查看服务状态(等待所有服务变为healthy)
watch docker-compose ps
服务启动后,通过以下URL访问各组件:
| 组件 | 访问地址 | 默认凭证 |
|---|---|---|
| 前端界面 | http://服务器IP:3000 | admin/admin123 |
| MinIO控制台 | http://服务器IP:9001 | admin/jmeter@123 |
| InfluxDB | http://服务器IP:8086 | 无 |
3. 压力机节点配置
3.1 Agent部署流程
每台压力机需要执行以下操作:
# 下载Agent安装包
wget https://github.com/guojiaxing1995/easy-jmeter/releases/download/v1.0/agent.tar.gz
# 解压并安装
tar -zxvf agent.tar.gz
cd agent && ./install.sh
# 配置环境变量
echo "export JMETER_HOME=/opt/apache-jmeter-5.4.1" >> ~/.bashrc
source ~/.bashrc
3.2 关键配置检查
完成部署后需验证三项核心配置:
-
JMeter环境检测 :
$JMETER_HOME/bin/jmeter -v # 应输出:Apache JMeter version 5.4.1 -
Agent连接测试 :
telnet 主控服务器IP 9090 # 应建立Socket连接 -
文件权限设置 :
chmod -R 777 $JMETER_HOME/bin
4. 平台功能验证
4.1 快速测试用例
使用内置示例进行验证:
- 登录平台后进入"用例管理"
- 点击"导入示例"按钮
- 选择"HTTP压力测试示例.jmx"
- 启动测试并观察实时数据
4.2 健康检查指标
通过API接口验证各组件状态:
# 检查后端服务
curl -X GET "http://localhost:8080/api/health"
# 预期返回:
{
"status": "UP",
"components": {
"mysql": {"status": "UP"},
"minio": {"status": "UP"},
"influxdb": {"status": "UP"}
}
}
5. 高级配置技巧
5.1 性能调优参数
在 docker-compose.yml 中添加以下参数优化性能:
backend:
environment:
# JVM堆内存设置
JAVA_OPTS: "-Xms4g -Xmx8g -XX:MaxMetaspaceSize=1g"
# 线程池配置
SERVER_TOMCAT_MAX_THREADS: "200"
SERVER_TOMCAT_ACCEPT_COUNT: "100"
5.2 分布式压测配置
多节点部署时需修改 backend 服务配置:
environment:
# 启用分布式模式
CLUSTER_MODE: "true"
# 节点发现地址
DISCOVERY_SERVICE: "http://压力机1:9090,http://压力机2:9090"
6. 常见问题排查
6.1 部署问题速查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 容器启动失败 | 端口冲突 | 修改 docker-compose.yml 端口映射 |
| MinIO无法上传文件 | 存储卷权限不足 | 执行 chmod -R 777 minio_data |
| Agent连接超时 | 防火墙限制 | 开放9090端口TCP通信 |
| JMeter脚本执行报错 | 环境变量未生效 | 重新登录服务器或重启Agent服务 |
6.2 日志查看方法
关键日志路径:
# 查看后端日志
docker-compose logs -f backend
# 查看Agent日志(压力机上)
tail -f /opt/easy-jmeter/agent/logs/agent.log
对于需要深入分析的问题,建议启用DEBUG日志:
# 临时修改日志级别
curl -X POST "http://localhost:8080/api/loggers/ch.qos.logback.classic" \
-H "Content-Type: application/json" \
-d '{"configuredLevel":"DEBUG"}'
通过以上步骤,您已经完成了从零开始的全套环境部署。在实际项目中,建议结合CI/CD流水线实现测试环境的自动化部署和销毁,这将进一步提升资源利用效率。
更多推荐



所有评论(0)