0


性能测试框架jmeter+Prometheus+Grafana详细操作文档

一、简介说明

本文为性能测试框架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


本文转载自: https://blog.csdn.net/yiziwan/article/details/130371565
版权归原作者 yiziwan 所有, 如有侵权,请联系我们删除。

“性能测试框架jmeter+Prometheus+Grafana详细操作文档”的评论:

还没有评论