一、性能测试指标:

二、性能监控平台介绍

平台依赖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 表中对应的字段是 testName
  • nodeName:节点名称;在 testStartEnd 表中对应的字段是 nodeName
  • influxDBHost:InfluxDB安装的服务器ip
  • influxDBPort:端口;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脚本并在模板界面展示性能数据了

性能测试指标、监控平台相关推荐

  1. 使用 Azure Monitor 快速构建 OS 内部指标监控平台

    Azure Monitor 可以用于收集.分析和处理来自云与本地环境的遥测数据的综合解决方案,支持将应用程序和服务的可用性最大化.帮助企业了解应用程序的性能,并主动识别影响应用程序及其所依赖资源的问题 ...

  2. 性能测试从入门到高级进阶之路(二):小白教程influxdb+grafana+jmeter性能监控平台

    先看效果:  一.背景:         公司要办第二阶段的架构师选拔,所以需要搞个性能比赛.本人是公司公司测试工程师,负责现场比赛压测,因为有公司外的评委,所以需要搭建一套influxdb+graf ...

  3. 滴滴Logi-KafkaManager开源之路:一站式Kafka集群指标监控与运维管控平台

    导读 从2019年4月份计划开源到2021月1月14号完成开源,历时22个月终于修成正果,一路走来实属不易,没有前端.设计.产品,我们找实习生.合作方.外部资源支持,滴滴Kafka服务团队人员也几经调 ...

  4. JMeter 5.0 + InfluxDB + Grafana 性能测试监控平台(Windows平台)

    文章目录 1. 前言 1.1 InfluxDB 和 Grafana是什么? 1.2 JMeter的历代支持变迁 1.3 这篇文章讲了什么? 2. 下载与安装 2.1 InfluxDB 安装 2.2 G ...

  5. 稳定性测试的要点、性能测试的监控的关键指标

    一.稳定性测试的要点 1.长时间的以正常的业务负载进行运行(最低为用户实际使用时的负载量,如果用户实际负载量低于最优负载量,也可以使用最优负载量). 2.稳定性的测试数据(用户实际使用负载量)来源于运 ...

  6. 应用于客户端的性能测试指标

    [原文地址]http://baike.baidu.com/view/106187.htm 性能测试 是通过自动化的测试工具模拟多种正常.峰值以及异常负载条件来对系统的各项性能指标进行测试.负载测试和压 ...

  7. 使用Rational Performance Tester实现DB2 性能测试和监控

    观察如何在 IBM® DB2® for Linux®.UNIX® 和 Windows® 基准测试环境中使用 Rational® Performance Tester 作为性能测试工具.了解要使用的最佳 ...

  8. 在微服务架构下基于 Prometheus 构建一体化监控平台的最佳实践

    欢迎关注方志朋的博客,回复"666"获面试宝典 随着 Prometheus 逐渐成为云原生时代的可观测事实标准,那么今天为大家带来在微服务架构下基于 Prometheus 构建一体 ...

  9. linux 测试内存性能,Linux性能测试指标评估

    Linux性能测试指标评估 一.影响Linux服务器性能的因素 1. 操作系统级 · CPU · 内存 · 磁盘I/O带宽 · 网络I/O带宽 2. 程序应用级 二.系统性能评估标准 影响性能因素 其 ...

最新文章

  1. Windows Phone 7 中的页面和弹出框
  2. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1092:求出e的值
  3. Java基础(五)继承和多态
  4. BDB (Berkeley DB)数据库简单介绍(转载)
  5. leetcode 5786. 可移除字符的最大数目(二分法)
  6. nginx开发笔记_ngx_hash源码解析
  7. 用python画机器猫代码_如何用Python画一只机器猫?| 原力计划
  8. 启动tomcat控制台日志出现乱码怎么办?
  9. [UWP]创建一个ProgressControl
  10. Flash MX 2004 编程(AS2.0)教程(五)
  11. linux编译ko文件
  12. Mybatis源码导入
  13. js 打开视频文件,测试已通过
  14. MySQL 数据库安全管理
  15. 2022年最好的游戏引擎是什么?
  16. 制作ios描述文件绿签+自定义描述+隐藏网址+防跳浏览器
  17. crc 校验错误_信道编码之循环冗余校验(CRC)
  18. 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)...
  19. 华硕灵耀pro16参数 华硕灵耀pro16怎么样
  20. Matlab二维坐标下极坐标向直角坐标的转换

热门文章

  1. linux写日历脚本,shell脚本实现日历的屏幕控制
  2. ed302安兔兔版main.31.com.antutu.ABenchMark.fix23下载安装使用教程
  3. 产品狗的Python之路(2):excel表格拆分桌面小程序
  4. mac M1+python+appium环境搭建
  5. 【java毕业设计】基于javaEE+SSM+MySql的个人博客系统设计与实现(毕业论文+程序源码)——个人博客系统
  6. 分布式:分布式系统设计实践。
  7. python注释多行
  8. Python数据可视化,Pyecharts库,外圆环内饼图制作
  9. 微信小程序中使用iconfont图标
  10. Mac上更新Go版本|Go Mod使用|避坑指南|