我们都知道Jmeter提供了原生的结果查看,既然有原生的查看结果,为什么还要多此一举使用其他工具进行查看呢,除了查看内容丰富外还有最主要的原因:
Jmeter提供的查看结果插件本身是比较消耗性能的,所以在正式压测中应当禁用。但是我们又需要在脚本运行时实时查看结果,这时就需要借助外在工具实现。
除此之外,在真实压测过程中还需要注意Jmeter图形化模式只适合调试使用,不要进行压测。图形化的压测方式会消耗较多的客户端性能,在压测过程中容易因为客户端问题导致内存溢出。官方也给出了提示通过命令行执行。执行命令:

  1. jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
  • -n 表示在非 GUI 模式下运行 JMeter;
  • -t 表示要运行的 JMeter 测试脚本文件,一般是 jmx 结尾的文件;
  • -l 表示记录结果的文件,默认以 jtl 结尾;
  • -e 表示测试完成后生成测试报表;
  • -o 表示指定的生成结果文件夹位置。

实现原理

接下来详解借助 docker 使用 InfluxDB 和 Grafana 搭建性能可视化监控平台。
InfluxDB概念:InfluxDB是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。
InfluxDB概念特点

  • 无结构(无模式):可以是任意数量的列;
  • 可以设置metric的保存时间;
  • 支持与时间有关的相关函数(如min、max、sum、count、mean、median等),方便统计;
  • 支持存储策略:可以用于数据的删改。(influxDB没有提供数据的删除与修改方法);
  • 支持连续查询:是数据库中自动定时启动的一组语句,和存储策略搭配可以降低InfluxDB的系统占用量;
  • 原生的HTTP支持,内置HTTP API;
  • 支持类似sql语法;
  • 支持设置数据在集群中的副本数;
  • 支持定期采样数据,写入另外的measurement,方便分粒度存储数据。

Grafana概念:一个开源软件,拥有丰富的指标仪表盘和图形编辑器,适用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。简单点说就是一套开源WEB可视化平台。

JMeter引入Backend Listener将在压测过程中实时发送统计指标数据发送到Influxdb数据库,Grafana(开源的WEB可视化看板)数据源连接到Influxdb,创建可视化看板,并实时获取到测试指标数据。

安装InfluxDB

docker 下进行安装
拉取influxdb镜像:docker pull influxdb
运行influxdb容器:docker run --name my_influxdb -p 8086:8086 influxdb

进入容器:docker exec -it 容器id /bin/bash

创建数据库 jmeter

  1. influx
  2. show databases;
  3. create database jmeter;
  4. show databases;
  5. use jmeter;
  6. select * from jmeter;
  7. exit;

安装Grafana

拉取grafana镜像:docker pull grafana/grafana

运行容器:docker run --name my_grafana -p 3000:3000 grafana/grafana

访问grafana:http://ip:3000

用户名与密码都是"admin"

进入后添加数据库

进入后对数据库进行配置

保存并且测试

配置展示模板

模板比较丰富,可以预览进行查看,选择合适的进行下载
下载地址:https://grafana.com/grafana/dashboards

下载json文件

准备导入

将下载下来的json文件导入之后即可。

设置完成后进入面板

在此可设置刷新频率

配置Jmeter

创建Jmeter脚本。

设置后端监听器

运行脚本后可查看结果

借助Docker搭建JMeter+Grafana+Influxdb监控平台的更多相关文章

  1. 搭建Jmeter + Grafana + InfluxDB性能测试监控环境

    背景 Jmeter原生的实时监控每半分钟收集一次数据,只能在Linux控制台查看日志输出,界面看起来不直观,图表报告只能等压测结束后才能生成.如下图为jmeter在Linux下运行的实时日志: 那么如 ...

  2. 基于Docker 部署Jmeter + Grafana + InfluxDB 性能测试监控配置(亲测可用)

    工具介绍: InfluxDB:是一款用Go语言编写的开源分布式时序.事件和指标数据库,无需外部依赖.该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, lo ...

  3. [转]Jmeter + Grafana + InfluxDB 性能测试监控

    https://www.cnblogs.com/yyhh/p/5990228.html Jmeter + Grafana + InfluxDB 性能测试监控 效果不错

  4. [转帖]基于docker 搭建Prometheus+Grafana

    基于docker 搭建Prometheus+Grafana https://www.cnblogs.com/xiao987334176/p/9930517.html need good study 一 ...

  5. 基于Prometheus和Grafana的监控平台 - 运维告警

    通过前面几篇文章我们搭建好了监控环境并且监控了服务器.数据库.应用,运维人员可以实时了解当前被监控对象的运行情况,但是他们不可能时时坐在电脑边上盯着DashBoard,这就需要一个告警功能,当服务器或 ...

  6. JMeter+Grafana+Influxdb搭建可视化性能测试监控平台(使用了docker)

    [运行自定义镜像搭建监控平台] 继上一篇的帖子 ,上一篇已经展示了如何自定义docker镜像,大家操作就行 或者 用我已经自定义好了的镜像,直接pull就行 下面我简单介绍pull下来后如何使用 拉取 ...

  7. 基于Centos7.4搭建prometheus+grafana+altertManger监控Spring Boot微服务(docker版)

    目的:给我们项目的微服务应用都加上监控告警.在这之前你需要将 Spring Boot Actuator引入 本章主要介绍 如何集成监控告警系统Prometheus 和图形化界面Grafana 如何自定 ...

  8. influxdb + Grafana可视化监控平台

    在centos6.5上influxdb + Grafana监控平台配置: 1.RedHat and CentOS users can install the latest stable version ...

  9. Jmeter + Grafana + InfluxDB 性能测试监控

    阅读目录 1. 安装InfluxDB 2. 安装Grafana 3. 配置Jmeter 序章 前几天在群里看到大神们在讨论Jmeter + InfluxDB + Grafana监控.说起来Jmeter ...

随机推荐

  1. js之数组乱序

    这是最近面试遇到的,不过忘记了,之前也有印象刷到过这道题,就再次记录一下加深印象吧,听到最多的答案是利用sort方法,不过也有说这种方法不好,利用了快排和插入排序,那就整理下吧 <!DOCTYP ...

  2. js实现元素范围内拖动

    元素拖拽,网上一堆的实现,其中很多是原生js写的,都不够简洁,甚至运行后看不到效果. 于是乎,安静地想了下,拖动元素貌似就是一个滑动事件的监听处理,具体操作如下: 1.一个外层DIV,或者直接用根节点 ...

  3. Sense Sense (Beta)安装及解决部分Chrome插件安装时程序包无效:"CRX_HEADER_INVALID"

    下载地址  http://down.cnplugins.com/down/down.aspx?fn=1412/www.cnplugins.com_lhjgkmllcaadmopgmanpapmpjgm ...

  4. Linux安装Mysql8.0.11

    0.  安装环境 1.  下载安装包 方式一:百度网盘下载 链接:https://pan.baidu.com/s/11t_JXUp-SXRaioNDvdltNg 提取码:uzyj 方式二:在线下载 1 ...

  5. Java中字符串替换方法

    replaceAll方法 public String replaceAll(String regex, String replacement) replace方法 public String repl ...

  6. 精尽Spring MVC源码分析 - HandlerAdapter 组件(四)之 HandlerMethodReturnValueHandler

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  7. 【electron-playground系列】打包优化之路

    作者:梁棒棒 简介 electron打包工具有两个:electron-builder,electron-packager,官方还提到electron-forge,其实它不是一个打包工具,而是一个类似于 ...

  8. QEMU网络模式(一)——bridge

    网络配置 QEMU支持的网络模式 qemu-kvm主要向客户机提供了4种不同模式的网络. 1)基于网桥(bridge)的虚拟网卡; 2)基于NAT的虚拟网络 3)QEMU内置的用户模式网络(user ...

  9. 基于Python实现环形队列高效定时器

    定时器Python实现代码 import time import redis import multiprocessing class Base: """ redis配置 ...

  10. PHP代码审计05之正则使用不当

    前言 根据红日安全写的文章,学习PHP代码审计的第五节内容,题目均来自PHP SECURITY CALENDAR 2017,讲完题目会用一道CTF的题目和实例来加深巩固.这是之前写的,有兴趣可以去看看 ...