性能测试 —— 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 日志文件 -> 记录结果的文件

运行结果如图所示:

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

相关推荐
城南vision30 分钟前
Docker学习—Docker核心概念总结
java·学习·docker
wclass-zhengge38 分钟前
Docker篇(Docker Compose)
运维·docker·容器
awonw38 分钟前
[java][框架]springMVC(1/2)
测试工具·postman
茶馆大橘1 小时前
微服务系列五:避免雪崩问题的限流、隔离、熔断措施
java·jmeter·spring cloud·微服务·云原生·架构·sentinel
鱼跃鹰飞1 小时前
大厂面试真题-简单说说线程池接到新任务之后的操作流程
java·jvm·面试
钱钱钱端3 小时前
【压力测试】如何确定系统最大并发用户数?
自动化测试·软件测试·python·职场和发展·压力测试·postman
程序员清风4 小时前
浅析Web实时通信技术!
java·后端·面试
梦魇梦狸º4 小时前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github
测试19984 小时前
外包干了2年,快要废了。。。
自动化测试·软件测试·python·面试·职场和发展·单元测试·压力测试
鬼才血脉4 小时前
docker+mysql配置
mysql·adb·docker