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

这篇具有很好参考价值的文章主要介绍了性能测试框架jmeter+Prometheus+Grafana详细操作文档。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、简介说明

二、jmeter环境配置与脚本编写

三、jmeter脚本编写

1、常用的线程组:请求固定线程数

2、步进线程组 jp@gc - Stepping Thread Group

四、Prometheus Listener的配置

 五、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请求

jmeter prometheus,性能优化,压力测试jmeter prometheus,性能优化,压力测试

依次添加  查看结果树: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 prometheus,性能优化,压力测试

然后重启你的jmeter ,在选项下面多了一个Plugins Manager选项

jmeter prometheus,性能优化,压力测试

依次点击如下:选项 -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 个线程

下面介绍一些性能测试常用的监听器 通过 线程组-添加-监听器 添加

jmeter prometheus,性能优化,压力测试

1、jp@gc - Active Threads Over Time

可以动态查看线程数曲线

jmeter prometheus,性能优化,压力测试

2、jp@gc - Response Times Over Time

可以动态查看当前请求的响应时间

jmeter prometheus,性能优化,压力测试

3、jp@gc - Transactions per Second

jmeter prometheus,性能优化,压力测试

可以动态查看tps曲线

4、jp@gc - Composite Graph

可以用来分析性能瓶颈,判断最大并发数

jmeter prometheus,性能优化,压力测试

四、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 中,可以直接下载复制到线程组下面使用

jmeter prometheus,性能优化,压力测试

插件会默认帮你在本地创建一个端口为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博客

5.2配置

在Prometheus.yml 下添加上jmeter的监控job

- job_name: "jmeter-monitor"
    static_configs:
- targets: ["172.20.7.146:9270"] 

#ip地址为当前安装服务器的ip地址

jmeter prometheus,性能优化,压力测试

添加成功后,可以运行jmeter

在Prometheus 中可以搜索到数据就说明配置成功了


jmeter prometheus,性能优化,压力测试

 五、grafana安装与配置

环境安装和配置参考

下载网址:

Download Grafana | Grafana Labs

jmeter prometheus,性能优化,压力测试

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

jmeter prometheus,性能优化,压力测试

(2)浏览器访问Grafana

浏览器访问http://Grafana服务器IP:3000进行访问,初始用户admin密码admin 

jmeter prometheus,性能优化,压力测试

第一次登录进入后会让你设置新的密码,进入Grafana,点击DATA SOURCES添加数据源 

jmeter prometheus,性能优化,压力测试

jmeter prometheus,性能优化,压力测试

jmeter prometheus,性能优化,压力测试

jmeter prometheus,性能优化,压力测试

 选择manage-import 导入下面的链接中的模板

链接:https://pan.baidu.com/s/1NYfEe8khSxnfDh6F6YXtxw 提取码:tayp

jmeter prometheus,性能优化,压力测试

运行jmeter后查看模板

jmeter prometheus,性能优化,压力测试

 备注:运行后如果有数据不展示,可以点击edit查看具体数据来进行调试

jmeter prometheus,性能优化,压力测试

jmeter prometheus,性能优化,压力测试

参考链接:https://blog.csdn.net/m0_71518373/article/details/127427892

                文章来源地址https://www.toymoban.com/news/detail-626233.html

到了这里,关于性能测试框架jmeter+Prometheus+Grafana详细操作文档的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jmeter接口测试、性能测试详细介绍

    目录:导读 1、接口简介 2、接口测试简介 3、环境搭建 4、RESTful风格   5、Json说明 6、Jmeter简介 7、Jmeter环境搭建 8、Jmeter使用 8.1 Jmeter发GET请求 8.2线程组 8.2.1 并发执行 8.2.2 顺序执行 8.2.3 线程组-Ramp-Up Period(in senconds) 8.2.4 线程组-循环次数 8.2.5 线程组-调度器 8.2.6 setUp和te

    2023年04月20日
    浏览(43)
  • 【七】jmeter5.5+influxdb2.0+prometheus+grafana

    参考文章:https://blog.csdn.net/wenxingchen/article/details/126892890 https://blog.csdn.net/Zuo19960127/article/details/119726652 https://blog.csdn.net/shnu_cdk/article/details/132182858 promethus参考 由于自己下载的是infuldb2.0,所以按照上面两个步骤走不通,做了如下修改,前提 目前jmeter5.6.3还不支持,但是至少要

    2024年04月27日
    浏览(23)
  • 超详细!Jmeter性能测试

    性能测试是一个全栈工程师/架构师必会的技能之一,只有学会性能测试,才能根据得到的测试报告进行分析,找到系统性能的瓶颈所在,而这也是优化架构设计中重要的依据。 测试流程: 需求分析→环境搭建→测试计划→脚本开发→执行与监控→缺陷管理→结果与报告 压力

    2024年02月03日
    浏览(25)
  • 性能测试 —— Jmeter 命令行详细

    我们在启动Jmeter时 会看见:Don’t use GUI mode for load testing !, only for Test creation and Test debugging.For load testing, use CLI Mode (was NON GUI) 这句话的意思就是说,不要使用gui模式进行负载测试,gui模式仅仅是创建脚本和调试脚本,你要是进行负载测试,使用NONGUI模式–也就是命令行模式。

    2024年04月08日
    浏览(37)
  • 性能测试讲解超详细Jmeter

    目录 什么是性能 性能测试的目的 功能测试和性能测试  基准测试  负载测试  稳定性测试  压力测试  并发测试 总结  性能测试指标  响应时间  并发数  吞吐量 点击数 错误率 资源使用率 总结 性能测试流程 性能测试需求分析 性能测试计划和方案 ​编辑性能测试用例​

    2024年02月12日
    浏览(27)
  • 性能监控平台 | Prometheus+InfluxDB + Grafana!

    在本文中,我将把几个常用的监控部分给梳理一下。前面我们提到过,在性能监控图谱中,有操作系统、应用服务器、中间件、队列、缓存、数据库、网络、前端、负载均衡、Web 服务器、存储、代码等很多需要监控的点。显然这些监控点不能在一个专栏中全部覆盖并一一细化

    2024年02月13日
    浏览(58)
  • 性能测试-JMeter分布式测试及其详细步骤

    性能测试是软件测试中的一种,它可以衡量系统的稳定性、扩展性、可靠性、速度和资源使用。它可以发现性能瓶颈,确保能满足业务需求。很多系统都需要做性能测试,如Web应用、数据库和操作系统等。 性能测试种类非常多,有些概念也很相近: Load Testing Baseline Testing S

    2024年02月07日
    浏览(43)
  • 【性能测试】JMeter分布式测试及其详细步骤

    性能测试是软件测试中的一种,它可以衡量系统的稳定性、扩展性、可靠性、速度和资源使用。它可以发现性能瓶颈,确保能满足业务需求。很多系统都需要做性能测试,如Web应用、数据库和操作系统等。 性能测试种类非常多,有些概念也很相近: Load Testing Baseline Testing S

    2024年02月02日
    浏览(32)
  • 【性能测试】Jenkins+Ant+Jmeter自动化框架的搭建思路

    前言 前面讲了Jmeter在性能测试中的应用及扩展。随着测试的深入,我们发现在性能测试中也会遇到不少的重复工作。 比如某新兴业务处于上升阶段,需要在每个版本中,对某些新增接口进行性能测试,有时还需要在一天中的不同时段分别进行性能测试,如果一味地采取手动

    2024年02月09日
    浏览(38)
  • 性能监控平台:基于 Prometheus+InfluxDB + Grafana|果断收藏

    在本文中,我将把几个常用的监控部分给梳理一下。前面我们提到过,在性能监控图谱中,有操作系统、应用服务器、中间件、队列、缓存、数据库、网络、前端、负载均衡、Web 服务器、存储、代码等很多需要监控的点。显然这些监控点不能在一个专栏中全部覆盖并一一细化

    2024年02月07日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包