Jmeter+prometheus+grafana性能测试

Jmeter+prometheus+grafana性能测试

背景

​ 在现代社会中,人们对于应用程序的响应速度和性能体验提出了越来越高的要求。无论是电子商务网站、社交媒体平台还是企业级软件系统,都需要能够承受大量用户的访问和操作。如果系统在高负载情况下出现响应延迟、崩溃或数据丢失等问题,将严重影响用户体验和客户满意度,甚至可能导致业务损失,因此有必要在系统上线前提前评估系统的性能。

目标

​ 当前我们的系统主要是文件表单操作,因此对系统的磁盘要求比较高,为了保证各接口性能稳定性、高可用性,进行性能测试,主要评估系统性能、分析性能变化趋势、定位系统瓶颈风险、协助规划系统容量。

设计思路

性能测试集成得流程图

img

原理

jmeter

基于协议,通过多线程的方式模拟用户并发,在不同场景下施压服务器

  • 基于协议:包括http,https,tcp,udp,socket,websocket,基于协议发起请求
  • 多线程:通过多线程的方式,模拟并发用户,施压服务器
  • 涉及场景:jmeter 方法,元件;设计用户使用系统的关联,思考时间,集合点,对结果进行断言

可以收集到服务器的性能测试指标: 统计 TPS、响应时间、线程数、错误率等信息;Jmeter通过监控工具node-exporter可以将统计出的结果实时异步发送到 prometheus 中

  • Prometheus是一套开源的监控+预警+时间序列数据库的组合,本身不具备收集监控数据功能,需要使用http接口来获取不同的export收集的数据,存储到时序数据库中。

  • grafana:监控大屏, 一个web端的展示平台, 通过更换模板展示不同的效果,可以直接拉取influxdb数据显示出来在页面图标里,直观并美观。

案例

20个用户并发提交表单演示

启发

  • 性能测试是基于现有生产环境的用户行为来设计性能场景,因此在做性能测试前需要先做好调研。
  • 针对不同的性能测试场景,应该选择适用的工具。
    来设计性能场景,因此在做性能测试前需要先做好调研。
  • 针对不同的性能测试场景,应该选择适用的工具。
  • 性能结果的分析,需要具备大量的理论知识,对被测试者提出了很大的挑战。
### 集成JMeterPrometheusGrafana进行性能测试监控 #### 准备工作 为了实现这一目标,需先安装并配置好必要的组件。这包括下载和设置Prometheus及其对应的JMeter插件。 对于PrometheusJMeter插件,可以从指定链接下载版本0.6.0,并将其`jmeter-prometheus-plugin-0.6.0.jar`文件放置于JMeter目录下的`\apache-jmeter-5.0\lib\ext`路径中[^1]。 #### JMeter配置调整 完成上述准备工作之后,在JMeter中创建新的测试计划或打开现有的项目。确保已加载了所需的监听器和其他元件来执行预期的压力测试案例。此时应启用Prometheus Metrics Listener以便能够捕获来自被测系统的度量数据并将它们转发给Prometheus实例处理。 ```xml <Listener guiclass="PrometheusMetricsGui" testclass="PrometheusMetricsCollector"> <!-- 设置Prometheus服务器地址 --> </Listener> ``` 此监听器允许用户自定义哪些类型的统计数据会被记录下来以及如何格式化这些信息以供Prometheus解析使用。通常情况下,默认选项已经足够满足大多数需求场景的要求。 #### Prometheus服务端验证 一旦启动了带有适当配置项的JMeter脚本,则可以在浏览器里输入类似如下所示URL访问Prometheus Web界面来进行初步确认: `http://192.168.31.44:9090/graph` 通过点击顶部导航条中的“Status -> Targets”,可查看当前连接状态是否正常显示为UP,这意味着Prometheus已经开始接收到来自JMeter发出的数据流了。 #### Grafana仪表盘构建 最后一步就是利用Grafana建立可视化面板展示所采集的各项关键绩效指标(KPIs),比如TPS(每秒事务数)、平均响应时间、并发用户数量还有失败请求比例等等重要参数。由于Node Exporter的存在使得这一切变得更加容易达成——它负责定期轮询主机资源利用率情况并通过HTTP POST方式提交至Prometheus存储库内等待进一步分析加工[^2]。 在Grafana界面上新增Dashboard后,选择先前设定好的Prometheus作为数据源关联起来即可快速绘制出直观易懂的趋势图表帮助团队成员更好地理解应用表现状况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值