性能测试从入门到高级进阶之路(二):小白教程influxdb+grafana+jmeter性能监控平台_瓜牛强强的博客-程序员宝宝

技术标签: 性能测试  jmeter  

先看效果:

 一、背景:

        公司要办第二阶段的架构师选拔,所以需要搞个性能比赛。本人是公司公司测试工程师,负责现场比赛压测,因为有公司外的评委,所以需要搭建一套influxdb+grafana+jmeter专业、清晰、实时的监控的平台,时刻维护公司形象。

二、对比:

       1、与无图形界面控制台输出对比:

 优点:无图形界面控制台信息输出,信息内容过多不易于观察,并且数据的变化趋势也不宜察觉。influxdb+grafana+jmeter监控平台可以将数据进行分类,并且每一类数据的变化趋势一目了然。

        2、与jmeter原生的html报告对比:

 优点:jmeter原生的html,1、需要等待测试结束后,才能生成这一份报告,不利于测试过程中不利于性能分析;2、如果压测时间较长、统计数据多、主控机内存不大,生成html报告的时间会让你怀疑人生;性能平台实时

三、性能监控平台实现原理

jmeter后端监听器:异步监听并获取到测试结果;

influxDB:时序型数据库,每条数据都会有一个时间。用于保存监听的测试结果数据(下图数据样例);

 grafana:可视化的画图工具,通过SQL语句对influxDB中存储的数据进行筛选采集,然后再进行图形化展示。

四、安装influxDB

1、下载influxdb安装包链接:https://pan.baidu.com/s/14L9T2bkNA2iHmk1Xih3Axw 提取码:8vvu

2、新建2个文件夹:mkdir {influxdb,grafana}

mkdir {influxdb,grafana}

 3、进入influxdb文件夹:cd influxdb

cd influxdb

 4、上传至服务器(做性能测试时,不要上传至服务器,而是上传到其他机器上,因为平台会吃资源):sudo rz

sudo rz

 

 5、安装influxdb数据库:rpm -ivh influxdb-1.7.0.x86_64.rpm

rpm -ivh influxdb-1.7.0.x86_64.rpm

 6、使用命令启动:influxd(至此,已经influxdb已经安装完成)

influxd

 五、安装grafana

1、下载安装包:链接:链接:https://pan.baidu.com/s/1lHvk2aOZIPTkKfk73oLKCQ 
提取码:259x

2、进入grafana文件夹:cd grafana

cd grafana

3、 上传至服务器(做性能测试时,不要上传至服务器,而是上传到其他机器上,因为平台会吃资源):sudo rz

sudo rz

 4、安装grafana:rpm -ivh grafana-5.2.3-1.x86_64.rpm(至此,)

rpm -ivh grafana-5.2.3-1.x86_64.rpm

 注意:可能会报错,如下所示:

[[email protected] grafana]# rpm -ivh grafana-5.2.3-1.x86_64.rpm
警告:grafana-5.2.3-1.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 24098cb6: NOKEY
错误:依赖检测失败:
	urw-fonts 被 grafana-5.2.3-1.x86_64 需要

解决:安装所需插件后,再次安装成功

yum install urw-fonts

5、下面就是开机自启动和手工启动的命令

手工启动命令:

sudo /bin/systemctl start grafana-server.service

开机自启动命令:

sudo /bin/systemctl daemon-reload

sudo /bin/systemctl enable grafana-server.service

停止服务: 

sudo /bin/systemctl stop grafana-server.service

lsof -i:3000---grafana的端口

 6、在web访问:http//:ip:3000/login(ip是grafana的部署机器的ip),用户名和密码都是admin

 六、配置grafana数据源

1、登录grafana,进入下面界面,点击“所示图标”

 2、配置grafana数据源

七、创建数据库jmeter

influxdb基本命令:

#创建数据库
create database "db_name"

#显示所有的数据库
show databases

#删除数据库
drop database "db_name"

#使用数据库
use db_name

#显示该数据库中所有的表
show measurements

#创建表,直接在插入数据的时候指定表名
insert test,host=127.0.0.1,monitor_name=test count=1

#删除表
drop measurement "measurement_name"

 1、启动influxdb:

influxd


 2、重新打开一个窗口,进入influxdb:

influx

 3、 创建库jmeter:

create database jmeter

4、没有创建数据库之前的grafana配置数据源时,提示:

 5、创建数据库之后的grafana配置数据源时,提示:

 八、配置grafana面板

1、点击“正方形”--> “manager”--> “import”

 2、点击“import”按钮

 3、在“Grafana.com Dashboard”中输入模板id:5496,移开光标(光标不移动会超时)

4、 “Measurement name”选择修改数据库名称(与之前设置的名称保持一致),并且表名取为jmeter

 5、跳转界面,我们可以看到grafana的界面已经出来了(influxdb此时没有数据) 

6、如果,以上的数据不能满足你的需求,可以自己设置(没有特殊要求,可以跳过这一步)

 

 

 

 九、配置jmeter-后端监听器

1、正常编写好脚本后,添加后端监听器

 2、配置后端监听器 

3、启动jmeter脚本,查看grafana,漂亮吗

 

 4、我们这时进入influxdb中,是有大量数据写入的

 5、每个字段意义可以查看官方文档:Apache JMeter - User's Manual: Live Statistics

真的是小白也能搭建性能监控平台教程,毕竟中国人不骗中国人!看教程搭建成功的同学,点赞、评论、关注一下呗

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44844572/article/details/122056564

智能推荐

模型评估与模型选择_꧁༺北海以北的等待༻꧂的博客-程序员宝宝

@TOP()我们来学习一下模型评估与选择的相关问题。在进入正式的学习之前,请你思考一下:我们为什么要做模型的评估与选择呢?导论在某个特定的数据场景下,我们事先并不知道什么样的模型可以近似刻画数据的规律。我们的模型选择可以有很多,比如:线性回归(n 元一次函数)、多项式回归(一元 n 次函数)等。即便是使用线性回归模型,在设置不同的超参数(如学习率、迭代次数)进行训练时,得到的模型参数也会有差异。(模型参数不同,实际上就是模型本身的不同)既然可供选择的模型有很多,那必然就有好有坏,我们要从中挑选出最能

Spring源码学习(四) | @Configuration的cglib动态代理_enhancerbyspringcglib_Ruby丶彬的博客-程序员宝宝

文章目录前言例子@Configuration :full or lite设置 full or liteCglib生成代理类AppConfigWhere is it generated ???How to generate ???总结前言        上文分析学习了ConfigurationClassPostProcessor类的执行流程以及作用,本文则着重学习@Configuration这个注解有关的一些知识点。例子首

php web总结,PHP WebShell变形技术总结_weixin_35948624的博客-程序员宝宝

简介WebShell的变形技术与各种防护软件的检测方法一直都在相互对抗,本篇文章就对目前常见的WebShell的变形技术进行总结。目前的防护软件对能够执行命令函数和能够执行代码的函数都会格外的敏感,如eavl、assert、system、popen、shell_exec,所以像最为简单的eval($_POST[cmd])的一句话就一定会被查杀。所以目前的变形的本质都在于如何隐藏自己的敏感函数。巧用...

关于java中Serializable序列化问题中属性赋值总结_chongyou7035的博客-程序员宝宝

java 提供Serializable解决对象可持久化的问题,它为分布式或者异构的环境下java对象的传输提供了先决支持条件。在序列化和反序列化的时候,如果在server/client 端 传输对象的类型版本变更 可能导致无法反序列化生成所需要的对象。如Person类只有name属性 在序列化...

模型选择准则_最优模型选择的信息准则的相合性_leo鱼的博客-程序员宝宝

对一堆数据进行建模的时候,特别是分类和回归模型,我们有很多的变量可供使用,选择不同的变量组合可以得到不同的模型,例如我们有5个变量,2的5次方,我们将有32个变量组合,可以训练出32个模型。但是哪个模型更加的好呢?目前常用有如下方法AIC准则AIC信息准则即Akaike information criterion(赤池信息准则),是衡量统计模型拟合优良性的一种标准,由于它为日本统计学家赤池

tplink 服务器未响应,tplogincn无法上网怎么办?tplogincn打不开 | 192路由网_易车的博客-程序员宝宝

问:tplogincn无法上网怎么办?答:tplogin.cn是TP-Link路由器的管理页面地址,所以我想你遇到的问题是:TP-Link路由器无法上网,想要寻求解决的办法。重要提示:(1)、如果你是在设置tplink路由器的时候,无法打开tplogin.cn管理页面,那么请阅读下面的文章查看解决办法。tplogin.cn登录不了怎么办?(电脑)tplogin.cn手机登录不了怎么办?(2)、如果...

随便推点

php deldir,PHP: dir - Manual_夜火海星的博客-程序员宝宝

This one's pretty nice. After getting frustrated for hunting down .jpg files in my massive music collection (PHP would run out of memory), I thought there should be a preg_ls function.function preg_l...

python爬取链家二手房信息_江水居士的博客-程序员宝宝

爬取过程分析:1、链家网url:https://bj.lianjia.com/ershoufang/pg2/显示的二手房信息每个url递增一2、访问时要加头信息,否则无法访问3、用beautifulsoup解析网页,找到二手房信息4、将信息简单处理后保存成csv文件具体代码如下:import requestsimport refrom bs4 import BeautifulSo...

计算机管理windows无法访问指定设备,windows无法访问指定设备路径或文件如何解决..._沈公子329的博客-程序员宝宝

我们平时在使用电脑的时候,经常都会遇到这样那样的问题。比如说突然出现windows无法访问指定设备如何处理的提示该怎么办呢?别着急,有小编在接下来我就将win7无法访问指定路径的解决方法分享过大家,感兴趣的朋友就一块来了解一下吧。windows无法访问指定设备路径或文件如何解决:方法一1,首先,右键点击“计算机”,菜单栏选择“属性”。2,打开计算机管理后,依次展开“本地用户和组——>用户”下...

linux中守护进程详解,Linux守护进程详解_weixin_39693193的博客-程序员宝宝

一、Linux守护进程的概念:Linux服务器在启动时需要运行很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。提供这些服务的程序是由运行在后台的系统服务(daemons)来执行的。系统服务是生存期较长的一种服务,它们独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。系统服务常常在系统引导装入时启动,在系统关闭时终止。系统服务完成许多系统任务,...

Git 笔记 - git commit_小晗同学的博客-程序员宝宝

git commit 常用命令:选项 -m ,使用给定 msg 作为提交消息;选项 -a,修改文件后不需要执行 git add 命令,直接就能提交,新建文件除外;选项 -p,使用交互式界面来选择要提交的更改,让用户有机会在将修改后的内容提交前查看差异;选项 -C,获取现有提交对象 commitId ,并在创建提交时重用日志消息、作者信息、时间戳;选项 -c,与 -C类似;选项 -n,这个选项可以绕过 pre-commit 和 commit-msg ;选项 --amend,创建新提交来替换当前分支的提交信息;

推荐文章

热门文章

相关标签