一、简介说明
本文为性能测试框架jmeter+Grafana+Prometheus的搭建方法,如果有jmeter基础者看完后可以几分钟内搭建出来
jmeter:性能脚本编写工具
Prometheus:性能数据存储
Grafana:获取Prometheus中的指标的相关性能数据
注意:如果公司产品不是用的Prometheus,建议直接搭建jmeter+Grafana+influxdb
为什么要搭建此框架?
1、对于远程服务器中nogui模式下运行的jmeter,此框架可以方便的查看性能所有指标。
2、Grafana和Prometheus应用广泛,直接套用,可以和公司其他产品共同集成在Grafana中
二、jmeter环境配置与脚本编写
环境配置参考链接(网上找找,一堆,这里不详细说了):
java 1.8版本安装
jmeter下载
可以直接下载使用链接:https://pan.baidu.com/s/1jSUeQb-2dnUNkxT3InObKQ 提取码:rhj1
(此jmeter包中已经下载了下文中所有需要用到的jar包,可以直接使用)
三、jmeter脚本编写
这里重点说下性能测试常用的两个线程组
1、常用的线程组:请求固定线程数
直接测试计划右键-添加-线程(用户)-线程组- 线程组右键-添加-取样器-HTTP请求
依次添加 查看结果树:HTTP请求右键-添加-监听器-查看结果树
断言:HTTP请求右键-添加-断言-响应断言
HTTP信息头管理:HTTP请求右键-添加-配置元件-HTTP信息头管理
CSV数据文件设置:HTTP请求右键-添加-配置元件-CSV数据文件设置
以上这些为jmeter的基础配置,具体怎么操作,网上找找说明文档,一堆
2、步进线程组 jp@gc - Stepping Thread Group
点击https://jmeter-plugins.org/install/Install/下载Plugins Manager插件,下载后直接放在jmeter目录下的lib/ext下面
然后重启你的jmeter ,在选项下面多了一个Plugins Manager选项
依次点击如下:选项 -Plugins Manager - Available Plugins - jpgc - Standard Set
最后点击右下角的 应用 按钮,安装完成后jmeter自动重启,重启后添加线程组即可看到我们下载的组件。
具体参数含义如下:
this group will start:表示总共要启动的线程数;若设置为 100,表示总共会加载到 100 个线程
first,wait for:从运行之后多长时间开始启动线程;若设置为 0 秒,表示运行之后立即启动线程
then start:初次启动多少个线程;若设置为 0 个,表示初次不启动线程
next add:之后每次启动多少个线程;若设置为 10个,表示每个梯次启动 10 个线程
threads every:当前运行多长时间后再次启动线程,即每一次线程启动完成之后的持续时间;若设置为 30 秒,每梯次启动完线程之后再运行 30 秒
using ramp-up:启动线程的时间;若设置为 5 秒,表示每次启动线程都持续 5 秒(和基础线程组的ramp-up一样意思)
then hold load for:线程全部启动完之后持续运行多长时间,如图:设置为 60 秒,表示 100 个线程全部启动完之后再持续运行 60 秒
finally,stop/threads every:多长时间释放多少个线程;若设置为 5 个和 1 秒,表示持续负载结束之后每 1 秒钟释放 5 个线程
下面介绍一些性能测试常用的监听器 通过 线程组-添加-监听器 添加
1、jp@gc - Active Threads Over Time
可以动态查看线程数曲线
2、jp@gc - Response Times Over Time
可以动态查看当前请求的响应时间
3、jp@gc - Transactions per Second
可以动态查看tps曲线
4、jp@gc - Composite Graph
可以用来分析性能瓶颈,判断最大并发数
四、Prometheus Listener的配置
1、插件下载:链接:https://pan.baidu.com/s/1TqPB6zq8R_uttos09qodgg
提取码:lnza
下载后直接放在jmeter包里的lib/ext下面,重启jmeter
这个JMeter插件是高度可配置的监听器(和配置元素),允许用户定义自己的度量(名称、类型等),并通过Prometheus/metrics API将它们公开给Prometheus服务器。
简易理解:Jmeter插件,Jmeter配置jar插件后运行默认启动端口9270,访问 ip:9270 网站可查阅Jmeter性能测试数据,数据供Prometheus读取数据后以数据库可视化形式展示
需要在jmeter.properties里加个配置
prometheus.ip=0.0.0.0
2、在jmeter脚本中添加线程组右击-添加-监听器-Prometheus Listener
按照下面图片配置参数,脚本已经存在在链接:https://pan.baidu.com/s/14AfqfrlGn9dh9XwNdLHdEw 提取码:9ywz 中,可以直接下载复制到线程组下面使用
插件会默认帮你在本地创建一个端口为9270的服务,你访问网址:http://localhost:9270/metrics就会看到如下内容:
点击jmeter开始测试按钮,访问http://localhost:9270/metrics地址
若想深入了解Prometheus Listener中每一个参数的含义,可以参考下方文档
GitHub - johrstrom/jmeter-prometheus-plugin: A Prometheus Listener for Apache JMeter that exposes results in an http API
五、Prometheus安装与配置
5.1环境安装
安装详细细节可以参考(53条消息) 在linux系统上部署Prometheus(普罗米修斯监控)_linux普罗米修斯监控系统部署_Tuki_a的博客-CSDN博客
在Prometheus.yml 下添加上jmeter的监控job
- job_name: "jmeter-monitor"
static_configs: - targets: ["172.20.7.146:9270"]
#ip地址为当前安装服务器的ip地址
添加成功后,可以运行jmeter
在Prometheus 中可以搜索到数据就说明配置成功了
五、grafana安装与配置
环境安装和配置参考
下载网址:
Download Grafana | Grafana Labs
1)部署Grafana
安装命令:
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.2.1-1.x86_64.rpm
sudo yum install grafana-enterprise-9.2.1-1.x86_64.rpm
systemctl enable --now grafana-server.service
ss -natp | grep grafana
(2)浏览器访问Grafana
浏览器访问http://Grafana服务器IP:3000进行访问,初始用户admin密码admin
第一次登录进入后会让你设置新的密码,进入Grafana,点击DATA SOURCES添加数据源
选择manage-import 导入下面的链接中的模板
链接:https://pan.baidu.com/s/1NYfEe8khSxnfDh6F6YXtxw 提取码:tayp
运行jmeter后查看模板
备注:运行后如果有数据不展示,可以点击edit查看具体数据来进行调试
参考链接:https://blog.csdn.net/m0_71518373/article/details/127427892
版权归原作者 yiziwan 所有, 如有侵权,请联系我们删除。