性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台

前言

在当前激烈的市场竞争中,创新和效率成为企业发展的核心要素之一。在这种背景下,如何保证产品和服务的稳定性、可靠性以及高效性就显得尤为重要。

而在软件开发过程中,性能测试是一项不可或缺的环节,它可以有效的评估一个系统、应用或者软件的性能指标。然而,如何提升性能测试效率,把测试结果转化为有价值的信息,则是一个更加重要的问题。

因此,本文提供了一个基于JMeter、Grafana和Influxdb的优化整合方案,将三个工具进行智能化整合,通过实时监控和数据分析,帮助团队更好地发现和解决性能问题,为企业提升产品和服务的质量打下坚实的基础。无论您是团队负责人、测试工程师、运维工程师或其他技术人员,都可以通过本文的方案,轻松打造智能化性能测试监控平台,从而在激烈的市场竞争中获得更大的优势。

一、influxdb安装并运行(选择2.0以下版本)

复制代码
docker run -itd --name influxdb -p 8086:8086 influxdb:1.8.3

进入容器

复制代码
docker exec -it influxdb /bin/bash

创建数据库

复制代码
influxcreate database jmetershow databases

二、grafana安装并运行

复制代码
docker run -itd --name grafana -p 3000:3000 grafana/grafana

进入容器

复制代码
docker exec -it grafana /bin/bash

访问grafana页面

复制代码
http://ip:3000

三、jmeter安装

直接用命令下载jmeter

复制代码
wget https://mirrors.bfsu.edu.cn/apache//jmeter/binaries/apache-jmeter-5.4.3.tgz

我们使用dockerfile安装,内容如下

复制代码
FROM java:8 ENV http_proxy ""ENV https_proxy "" RUN mkdir /jmeterdockerRUN mkdir -p /jmeterdocker/testRUN mkdir -p /jmeterdocker/test/input/jmxRUN mkdir -p /jmeterdocker/test/input/testdataRUN mkdir -p /jmeterdocker/test/report/htmlRUN mkdir -p /jmeterdocker/test/report/jtlRUN mkdir -p /jmeterdocker/test/report/outputdataRUN chmod -R 777 /jmeterdocker ENV JMETER_VERSION=5.4.3ENV JMETER_HOME=/jmeterdocker/apache-jmeter-${JMETER_VERSION}ENV JMETER_PATH=${JMETER_HOME}/bin:${PATH}ENV PATH=${JMETER_HOME}/bin:${PATH} COPY apache-jmeter-${JMETER_VERSION}.tgz /jmeterdocker RUN cd /jmeterdocker \    && tar xvf apache-jmeter-${JMETER_VERSION}.tgz \    && rm apache-jmeter-${JMETER_VERSION}.tgz

在dockerfile文件路径下执行命令

复制代码
docker build -t jmeter .

创建jmeter容器

​​​​​​​

复制代码
docker run -itd --name=jmeter -v /tmp/jmeterspace/test/input/jmx:/jmeterdocker/test/input/jmx \-v /tmp/jmeterspace/test/input/testdata:/jmeterdocker/test/input/testdata \-v /tmp/jmeterspace/test/report/html:/jmeterdocker/test/report/html \-v /tmp/jmeterspace/test/report/jtl:/jmeterdocker/test/report/jtl \-v /tmp/jmeterspace/test/report/outputputdata:/jmeterdocker/test/report/outputdata \-p 1099:1099 \jmeter

将jmeter脚本放在容器外的

/tmp/jmeterspace/test/input/jmx路径下

进入容器,执行以下命令​​​​​​​

复制代码
docker exec -it jmeter /bin/bashcd /jmeterdocker/test/input/jmxjmeter -n -t ***.jmx -l test.jtl参数说明:-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter-t 测试文件 -> 要运行的 JMeter 测试脚本文件-l 日志文件 -> 记录结果的文件

运行结果如图所示:

相关推荐
FreeBuf_几秒前
Claude Mythos Preview 实现自动化漏洞研究突破,可构建PoC漏洞利用链
运维·自动化
风静如云9 分钟前
VMware:下载
运维
来恩10039 分钟前
jQuery选择器
前端·javascript·jquery
前端繁华如梦11 分钟前
树上挂苹果还是挂玻璃球?Three.js 程序化果实的完整实现指南
前端·javascript
IMPYLH21 分钟前
Linux 的 wc 命令
linux·运维·服务器·前端·bash
钓了猫的鱼儿23 分钟前
基于深度学习+AI的水下目标目标检测与预警系统(Python源码+数据集+UI可视化
人工智能·深度学习·智能手机
ElevenS_it18828 分钟前
Redis监控实战:内存使用+命中率+连接数三类核心指标接入Zabbix+分级告警完整配置方案
运维·网络·redis·mybatis·zabbix
zxy64449247332 分钟前
Centos7.9编译安装PHP7.4
linux·运维·服务器
无限进步_35 分钟前
【Linux】从冯诺依曼到操作系统:理解计算机运行的基本脉络
linux·运维·服务器
CDwenhuohuo44 分钟前
优惠券组件直接用 uview plus
前端·javascript·vue.js