性能测试指标、监控平台
一、性能测试指标:
二、性能监控平台介绍
平台依赖jmeter、influxdb、grafana三个工具,简单介绍三个工具各自的作用:
jmeter: 性能测试工具,负责采集数据
influxdb: Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等数据,主要用于数据存储
grafana: 纯 Javascript 开发的前端工具,用于访问 InfluxDB,自定义报表、显示图表等
jmeter执行接口或性能测试,数据会存储在influxdb数据库中,grafana从数据库中拿到数据在界面进行动态可视化展示
三、性能监控操作步骤:
1、在本地编写jmeter脚本,脚本中右键选择监听器-->后端监听器,选择对应的监听器实现方式,监听方式默认为GraphiteBackendListenerClient
监听方式是可以修改的,不同的监听方式生成的数据格式不一致,在grafana上展示的形式也不一样,不同的监听方式对应不同的图形模板,此处以JmeterInfluxDBBackendListenerClient监听方式为例:
上图红线处JmeterInfluxDB的两种实现方式默认是没有的,需要安装jmeter插件后才会显示,插件下载地址:https://github.com/NovaTecConsulting/JMeter-InfluxDB-Writer/releases
插件下载后,放到jmeter安装目录下的/lib/ext目录下,重启jmeter后即可生效
上图中的配置项含义如下: 默认按照我上图配置的即可,influxdb在10.240.3.253上已经安装配置好,端口就是8086,数据库及账号密码也与上图保持一致
testName
:测试名称;在 testStartEnd 表中对应的字段是 testNamenodeName
:节点名称;在 testStartEnd 表中对应的字段是 nodeNameinfluxDBHost
:InfluxDB安装的服务器ipinfluxDBPort
:端口;influxDB端口,默认是8086,不用改即可influxDBUser
:数据库用户名influxDBPassword
:数据库密码influxDBDatabase
:数据库名称,我们之前配置的数据库是jmeter,所以填入即可retentionPolicy
:默认即可samplersList
:取样器列表;想收集哪些请求就填哪些,最好用正则去匹配useRegexForSamplerList
:是否使用正则;如果true则使用,samplersList里可以匹配正则表达
2、运行脚本,可以通过客户端查看数据,也可以进入influxdb容器,进入数据库界面查看数据,此步骤仅作为数据查看的一种方式,不是必须执行的
客户端下载地址:https://github.com/CymaticLabs/InfluxDBStudio/releases/tag/v0.2.0-beta.1
下载后打开按照如下步骤执行并配置数据库信息即可,数据库是jmeter,账号密码是admin/admin
执行完jmeter脚本,此处即会保存数据信息
3、登录grafana平台,网址: http://10.240.3.253:3001/ 账号:admin/admin
平台中已经配置了两个模板,分别对应的两种监听实现方式,如果监听方式选择了JmeterInfluxDBBackendListenerClient,则选择JMeter Load Test,即可打开监听界面
监听界面中选择展示数据的时间范围、自动刷新的时间后,即可动态展示jmeter性能数据
四、性能监控平台搭建
性能监控平台依赖InfluxDB+Grafana+Jmeter,主要根据docker进行安装,服务器为10.240.3.253
<一>、influxdb安装
1、拉取镜像
docker pull influxdb:1.8
2、运行容器
docker run -itd -p 8086:8086 -p 2003:2003 -p 8083:8083 --name my_influxdb influxdb:1.8
- 8083端口:InfluxDB的UI界面展示的端口
- 8086端口:Grafana用来从数据库取数据的端口
- 2003端口:Jmeter往数据库发数据的端口
3、修改influxdb配置
进入influxdb容器内部,进入到目录/usr/bin,生成配置文件
influxd config > /etc/influxdb/influxdb.conf,然后修改配置文件
由于influxdb镜像默认没有打包vim命令,因此可以先退出容器,使用docker cp命令将配置文件拷贝到宿主机,待修改完成后再拷贝进容器
docker cp -a a92f5e19c639:/etc/influxdb/influxdb.conf /home/influxdb.conf
修改配置文件,此处配置的jmeter这个数据库是没有的,后边需要手动创建
docker cp -a /home/influxdb.conf a92f5e19c639:/etc/influxdb/influxdb.conf 将配置文件再次拷贝到容器内
配置修改后重启容器 docker restart my_influxdb
4、进入容器/usr/bin目录,执行./influx启动客户端,然后输入sql语句操作即可
5、创建数据库
create database "jmeter"
创建人员
create user "用户名" with password '密码' with all privileges
6、执行exit退出,启动服务端
在/usr/bin目录下执行./influxd
7、查询数据
可以通过客户端查询,也可以通过命令行查询
命令行查询时,进入influxdb容器,启动influx,使用平时的sql语句查询即可
<二>、jmeter配置
参考上面---->三、性能监控操作步骤
<三>、Grafana安装
1、拉取镜像
docker pull grafana/grafana
2、启动服务
docker run -d -p 3000:3000 --name my_grafana grafana/grafana
3、访问服务
http://服务器ip:3000/login ,初始登录账号为 admin/admin
4、Grafana配置
可以自定义模板格式,也可以选择已有的模板进行数据的展示,自定义不做介绍,主要讲解如何使用已有的模板,因为当前模板已经比较全面了
模板下载地址:Dashboards | Grafana Labs
此处不同的模板对应不同的数据上报方式
5、点击 +,选择import
有两种方式上传模板,一种直接上传模板id,模板id为第四步选择模板后url末尾携带的id号,另一种是下载模板然后上传
6、然后就可以执行jmeter脚本并在模板界面展示性能数据了
性能测试指标、监控平台相关推荐
- 使用 Azure Monitor 快速构建 OS 内部指标监控平台
Azure Monitor 可以用于收集.分析和处理来自云与本地环境的遥测数据的综合解决方案,支持将应用程序和服务的可用性最大化.帮助企业了解应用程序的性能,并主动识别影响应用程序及其所依赖资源的问题 ...
- 性能测试从入门到高级进阶之路(二):小白教程influxdb+grafana+jmeter性能监控平台
先看效果: 一.背景: 公司要办第二阶段的架构师选拔,所以需要搞个性能比赛.本人是公司公司测试工程师,负责现场比赛压测,因为有公司外的评委,所以需要搭建一套influxdb+graf ...
- 滴滴Logi-KafkaManager开源之路:一站式Kafka集群指标监控与运维管控平台
导读 从2019年4月份计划开源到2021月1月14号完成开源,历时22个月终于修成正果,一路走来实属不易,没有前端.设计.产品,我们找实习生.合作方.外部资源支持,滴滴Kafka服务团队人员也几经调 ...
- JMeter 5.0 + InfluxDB + Grafana 性能测试监控平台(Windows平台)
文章目录 1. 前言 1.1 InfluxDB 和 Grafana是什么? 1.2 JMeter的历代支持变迁 1.3 这篇文章讲了什么? 2. 下载与安装 2.1 InfluxDB 安装 2.2 G ...
- 稳定性测试的要点、性能测试的监控的关键指标
一.稳定性测试的要点 1.长时间的以正常的业务负载进行运行(最低为用户实际使用时的负载量,如果用户实际负载量低于最优负载量,也可以使用最优负载量). 2.稳定性的测试数据(用户实际使用负载量)来源于运 ...
- 应用于客户端的性能测试指标
[原文地址]http://baike.baidu.com/view/106187.htm 性能测试 是通过自动化的测试工具模拟多种正常.峰值以及异常负载条件来对系统的各项性能指标进行测试.负载测试和压 ...
- 使用Rational Performance Tester实现DB2 性能测试和监控
观察如何在 IBM® DB2® for Linux®.UNIX® 和 Windows® 基准测试环境中使用 Rational® Performance Tester 作为性能测试工具.了解要使用的最佳 ...
- 在微服务架构下基于 Prometheus 构建一体化监控平台的最佳实践
欢迎关注方志朋的博客,回复"666"获面试宝典 随着 Prometheus 逐渐成为云原生时代的可观测事实标准,那么今天为大家带来在微服务架构下基于 Prometheus 构建一体 ...
- linux 测试内存性能,Linux性能测试指标评估
Linux性能测试指标评估 一.影响Linux服务器性能的因素 1. 操作系统级 · CPU · 内存 · 磁盘I/O带宽 · 网络I/O带宽 2. 程序应用级 二.系统性能评估标准 影响性能因素 其 ...
最新文章
- Windows Phone 7 中的页面和弹出框
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1092:求出e的值
- Java基础(五)继承和多态
- BDB (Berkeley DB)数据库简单介绍(转载)
- leetcode 5786. 可移除字符的最大数目(二分法)
- nginx开发笔记_ngx_hash源码解析
- 用python画机器猫代码_如何用Python画一只机器猫?| 原力计划
- 启动tomcat控制台日志出现乱码怎么办?
- [UWP]创建一个ProgressControl
- Flash MX 2004 编程(AS2.0)教程(五)
- linux编译ko文件
- Mybatis源码导入
- js 打开视频文件,测试已通过
- MySQL 数据库安全管理
- 2022年最好的游戏引擎是什么?
- 制作ios描述文件绿签+自定义描述+隐藏网址+防跳浏览器
- crc 校验错误_信道编码之循环冗余校验(CRC)
- 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)...
- 华硕灵耀pro16参数 华硕灵耀pro16怎么样
- Matlab二维坐标下极坐标向直角坐标的转换
热门文章
- linux写日历脚本,shell脚本实现日历的屏幕控制
- ed302安兔兔版main.31.com.antutu.ABenchMark.fix23下载安装使用教程
- 产品狗的Python之路(2):excel表格拆分桌面小程序
- mac M1+python+appium环境搭建
- 【java毕业设计】基于javaEE+SSM+MySql的个人博客系统设计与实现(毕业论文+程序源码)——个人博客系统
- 分布式:分布式系统设计实践。
- python注释多行
- Python数据可视化,Pyecharts库,外圆环内饼图制作
- 微信小程序中使用iconfont图标
- Mac上更新Go版本|Go Mod使用|避坑指南|