如果这些内容对你有帮助,也可以打开微信扫一扫,加关注:

一、前言

本文中influxdb和Grafana下载、安装、配置及使用见另外3篇文章:

1.Influxdb使用1

2.Influxdb使用2

3.Grafana使用

【开篇说明】:本文使用工具环境约定:influxdb-1.6.2、GrafanaV4.2.0、jmeterV5.1

Grafana效果展示图:

对应的jmeter聚合报告数据:

二、influxdb中jmeter数据库创建

环境部署运行正常后,这里需要配置和jmeter关联的数据库、表、及管理用户。见如下全部命令:

[root@georgeComputer ~]# influx      #另外开1个linux端连接数据库Connected to http://localhost:8086 version 1.6.2InfluxDB shell version: 1.6.2> show databases         #查询库名name: databasesname----_internal> CREATE DATABASE "jmeterTest"     #创建jmeter传送数据的库> use jmeterTestUsing database jmeterTest> CREATE USER "admin" WITH PASSWORD '123456' WITH ALL PRIVILEGES        #创建数据库账号和密码

三、Jmeter中后台监听器的配置

这里有两种方式:influxdbGraphite,两种都可以用,注意influxdb的配置文件进行对应协议的修改即可。

1.添加【InfluxdbBackendListener】后台监听器

Jmeter->测试计划-监听器(Listener)-后端监听器(Backend Listener),在Backend Listener implementation中选择->org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBack...

【参数说明】:

influxdbMetricsSender:org.apache.jmeter...influxdb...

influxdbUrl:http://192.168.2.253:8086/write?db=jmeterTest  #数据库连接配置修改ip/端口/数据库名(influxdb中创建的jmeter数据库名)即可

application:Jmeter压测Demo    #可以看成是场景名,可用来分类筛选

measurement:jmeter     #数据库表名

summaryOnly:true     #true:统计总请求;false:统计子请求,要配合samplersRegex使用

samplersRegex:.*     #请求名匹配正则规则

percentiles:90;95;99

testTitle:getDemoNoParam接口测试

eventTags:测试demo

##用了Influxdb的http协议后,measurements会多出如下这么多对应数据表:jmeterTest、events

> select * from jmeter limit 2name: jmetertime                application  avg               count countError endedT hit  max maxAT meanAT min minAT pct90.0 pct95.0 pct99.0            rb     sb startedT statut transaction----                -----------  ---               ----- ---------- ------ ---  --- ----- ------ --- ----- ------- ------- -------            --     -- -------- ------ -----------1595929357925000000 jmeter072801                                    0               0     0          0                                                  0               internal1595929362786000000 jmeter072801 5.929999999999997 5208  0                 5208 34               0         12      32      33.989999999999995 473928 0           all    all

time:时间戳

application:应用名、场景名,即jmeter配置中的application

avg:平均响应时间

count:请求数,也就是TPS的T

countError:错误请求数

endedT:Finished threads-结束线程数

hit:每秒点击数

max:成功采样最大响应时间

maxAT:Max active threads-最大活跃线程数

minAT:Min active threads-最小活跃线程数

meanAT:Mean active threads-活跃线程数

min:成功采样最小响应时间

pct90:采样器90%响应百分比

pct95:采样器95%响应百分比

pct99:采样器99%响应百分比

rb:接收包,单位bit 转换到jmeter中接收KB/sec,需要运算下,如487942/8/1024=59KB/s

sb:发送包,单位bit 转换到jmeter中发送KB/sec

startedT:Started threads-启动线程数

statut:值为ok 、ko、all,用于设置了summaryOnly=false和samplersRegex,开启了子请求数据抓取的场景,如果不抓取子请求信息,则这里无ok和ko的值

transaction:事务名,只要设置发送子请求方式,设置summaryOnly=false和samplersRegex的这里才有值,否则都是all

示例1:  samplersRegex设置为:getDemoNoParam-p.*

> select time,application,count,countError,hit,responseCode,startedT,statut,transaction from jmeter where "transaction"!= 'internal' and "transaction" != 'all' and "statut" != 'all' order by time descname: jmetertime                application count countError hit responseCode     startedT statut transaction----                ----------- ----- ---------- --- ------------     -------- ------ -----------1596166285577000000 jmeter07312 130                                            ok     getDemoNoParam-pass1596166285355000000 jmeter07312 2710                                           ok     getDemoNoParam-pass

示例2:  samplersRegex设置为:.*

> select * from jmeter order by time desc limit 10name: jmetertime                application avg               count countError endedT hit  max maxAT meanAT min minAT pct90.0            pct95.0           pct99.0            rb     responseCode     responseMessage                                      sb startedT statut transaction----                ----------- ---               ----- ---------- ------ ---  --- ----- ------ --- ----- -------            -------           -------            --     ------------     ---------------                                      -- -------- ------ -----------1596165795354000000 jmeter07312                                    0               7     7          7                                                                                                                                             7               internal1596165795354000000 jmeter07312 6.460000000000001 2666                         26               1         16.900000000000006 24                25.989999999999995                                                                                          ok     getDemoNoParam-pass1596165795354000000 jmeter07312 6.460000000000001 2666                         26               1         16.900000000000006 24                25.989999999999995 242606                                                                       0           all    getDemoNoParam-pass1596165795354000000 jmeter07312 5.630000000000001 2663                         26               1         14.900000000000006 23.94999999999999 26                 242333                                                                       0           all    getDemoNoParam-faile1596165795354000000 jmeter07312 5.630000000000001 2663                         26               1         14.900000000000006 23.94999999999999 26                                                                                                          ko     getDemoNoParam-faile1596165795354000000 jmeter07312 6.460000000000001 5329  2663              5329 26               1         14                 23.94999999999999 25.97999999999999  484939                                                                       0           all    all1596165790355000000 jmeter07312                   2721                                                                                                                   Assertion failed Test failed: text expected to contain /无参getDemo222/                    getDemoNoParam-faile1596165790355000000 jmeter07312                                    0               7     7          7                                                                                                                                             7               internal

2.添加【GraphiteBackendListener】后台监听器

Jmeter->测试计划-监听器(Listener)->后端监听器(Backend Listener)->在Backend Listener implementation中选择->org.apache.jmeter.visualizers.backend.graphite.Graphite.....

注意:使用此协议需要在influxdb的配置文件中开启graphite协议;和1中influxdb协议不同的是这里的数据库名是在配置文件中设置的

配置项说明:

graphiteHost:influxdb中开启了graphite协议的机器IP

graphitePort:2003是influxdb配置文件中graphite板块里的bind-address

rootMeticsPrefix:设置指标前缀,查看时更方便区分,比如jmeter.all.a.avg

summaryOnly:true/false 是否统计总量,如果是false就需要设置samplersList

samplersList:测试Sampler名称,支持正则表达式,全部的话使用 .*

useRegexpForSamplerList:true/false Sampler名称是否支持正则

percentiles:90;95;99

#influxdb的配置文件中的graphite板块如下:

[[graphite]]  # Determines whether the graphite endpoint is enabled.是否启用  enabled = true  #数据库名配置  database = "jmeterTestGra"  retention-policy = ""  #数据库连接ip和端口配置  bind-address = ":2003"  #协议配置  protocol = "tcp"  consistency-level = "one"

##用了Graphite协议后,measurements会多出如下这么多对应数据表:

详细参数如下:

#####响应相关指标##############jmeter.all.a.avg:ok.count和ko.count的平均值jmeter.all.a.count:ok.count+ko.countjmeter.all.a.max:ok.count和ko.count的最大响应时间jmeter.all.a.min:ok.count和ko.count的最小响应时间jmeter.all.a.pct90:采样器90%响应百分比,成功加失败总数的百分比jmeter.all.a.pct95:采样器95%响应百分比,成功加失败总数的百分比jmeter.all.a.pct99:采样器99%响应百分比,成功加失败总数的百分比jmeter.all.h.count:每秒点击数jmeter.all.ko.count:失败响应数jmeter.all.ok.avg:成功采样平均响应时间jmeter.all.ok.count:成功响应数jmeter.all.ok.max:成功采样最大响应时间jmeter.all.ok.min:成功采样最小响应时间jmeter.all.ok.pct90:成功采样90%响应时间jmeter.all.ok.pct95:成功采样95%响应时间jmeter.all.ok.pct99:成功采样99%响应时间jmeter.all.rb.bytes:接收的字节数jmeter.all.sb.bytes:发送的字节数######线程数及用户相关指标#########jmeter.test.endedT:Finished threads-结束线程数jmeter.test.maxAT:Max active threads-最大活跃线程数jmeter.test.meanAT:Mean active threads-活跃线程数jmeter.test.minAT:Min active threads-最小活跃线程数jmeter.test.startedT:Started threads-启动线程数

这些参数详细说明可参考jmeter官网:

https://jmeter.apache.org/usermanual/realtime-results.html

写在最后

经过上面几篇文章的总结,jmeter压测监控环境总算是倒腾出来了,但是中间也遇到了各种坑,一次次的掉进去又爬出来,收获了不少经验,下一篇将会总结下各种填坑经验以及优化后Grafana中的模版、Sql。希望能帮助有需要的朋友。

#####欢迎加好友交流切磋####

QQ:464314378

微信群请先加群主微信,群主会拉各位小伙伴进群,注意添加备注。

jmeter线程说明_4.centos下Jmeter+InfluxDB+Grafana环境的搭建1相关推荐

  1. linux怎么离线安装gcc文件夹,CentOS下离线安装gcc环境,图文详细,方法全面

    CentOS下离线安装gcc环境,图文详细,方法全面 下载 方式1:如果有网的虚拟机还没有安装,可以直接 yum install --downloadonly --downloaddir=/root/ ...

  2. (原)ubuntu下cadvisor+influxdb+grafana+supervisord监控主机和docker的containers

    ubuntu下cadvisor+influxdb+grafana+supervisord监控主机和docker的containers(运行在主机上) 适用于类ubuntu系统.amd64. 1. in ...

  3. Centos下openresty-1.19.9-1环境搭建

    文章目录 Centos下openresty-1.19.9-1环境搭建 一.背景 二.openresty安装配置 2.1 编译安装 2.2 配置环境变量 2.3 添加lua的http模块 2.4 添加到 ...

  4. GCC编译器简明教程(Linux下C语言开发环境的搭建)

    GCC编译器简明教程(Linux下C语言开发环境的搭建) 市面上常见的Linux都是发行版本,典型的Linux发行版包含了Linux内核.桌面环境(例如GNOME.KDE.Unity等)和各种常用的必 ...

  5. ssh mysql环境搭建_Ubuntu下JDK+Tomcat+MySql环境的搭建

    Ubuntu 下 JDK+Tomcat+MySql 环境的搭建 1. 安装 Ubuntu-server-10.04.1 1.1 安装 安装过程中,记下输入的用户名与密码. 1.2 设置IP 安装完成之 ...

  6. [奥塔在线]压测大师养成之五:Centos下Jmeter安装与部署

    JMeter本身是基于JAVA平台的,所以能在Linux环境下部署使用. 1.确定是否已正常安装了JDK java -version 如果提示错误,或者版本不是JAVA8,都需要卸载了重新安装部署.具 ...

  7. jmeter 高并发测试报告_Windows下JMeter分布式压测环境搭建

    JMeter是Apache组织开发的开源项目,设计之初用于性能测试,同时它在实现对各种接口的调用方面做得比较成熟,因此,常被用于接口功能测试和性能测试.它能够很好的支持各种常见接口,如HTTP(S). ...

  8. jmeter找不到java_Windows下Jmeter安装出现Not able to find Java executable or version问题解决方案...

    最近在做一个开放接口平台性能测试  , 指标是最少达到1000/s的并发 , 接口鉴权 百万级的表  在1s内完成.. 在众多压测工具中 ,,选择了Apache的jmeter ,于官网下载了最新版本 ...

  9. 在CentOS下源码安装 Xen并搭建Windows虚拟机

    前言 首先要感谢xing的帮助,在他的指导之下才完成环境的搭建,本文档的部分内容来自他的文档.另外,还要感谢--互联网. 1.       环境介绍 Linux: CentOS 6.3 Xen: Xe ...

最新文章

  1. 自动跟随小车c语言,基于OpenCV的智能小车运动轨迹跟踪方法研究
  2. unity的自带特性
  3. Servlet基本_オブジェクトのスコープ
  4. Linux 下的Core Dump
  5. 求多个数最小公倍数和最大公约数
  6. 【Java基础教程】用Java实现猜数字小游戏
  7. 零基础如何入门数据分析师?
  8. 华为 eNSP模拟器安装教程
  9. python吃显卡还是内存条_内存条与显卡金手指氧化了解决方法
  10. “铭赛科技”科创板IPO:“机器人王国梦”价值几何?
  11. IPad一张图应用系统
  12. Unity小游戏之闯关小游戏
  13. 如何成为一名大数据开发工程师
  14. MKL_THREADING_LAYER=INTEL is incompatible with libgomp.so.1 library
  15. gensim LDA模型提取每篇文档所属主题(概率最大主题所在)
  16. MySQL数据备份与恢复及sql语句用法
  17. 使用JFlash读STM23 Flash 失败 经验分享
  18. (附源码)springboot中学成绩管理 毕业设计100854
  19. matlab画图格式
  20. 批处理删除文件/复制文件

热门文章

  1. RHEL7 - 从命令行管理文件
  2. 有关BST搜索树转换为AVL高度平衡树的旋转问题
  3. 使用SmsManager服务群发短信
  4. SummerTree 的实验室
  5. spark将rdd转为string_大数据技术之SparkCore(三)RDD依赖关系
  6. 【转】登录后自动显示未读快件
  7. 华为被上汽狂DISS:智能驾驶时代车企呼唤“主权”?
  8. 我们都准备好进入数字货币+无现金世界了?
  9. 中国影视股,越补贴,越萎靡
  10. android flash闪退,Android全面停止Flash Adobe专注HTML5