一、引言
最近在公司做性能技术分享时,发现同事对环境搭建能力,还是有些欠缺。
或许,这也是大部分性能测试工程师所欠缺的技能。
因为绝大部分的性能测试工程师,要么是使用测试开发架构师搭建的性能平台,要么自己使用Jmeter工具进行压测。
并没有这对整个性能工程来进行平台的规划及搭建的能力。
这也是让从业多年的我有些困惑。
为了能让更多的性能测试工程师学会搭建性能平台,我们就来聊一聊Jmeter+InfluxDB+Grafana。
这里,我并没有把Promethues、k8s的监控服务纳入进来,
一来,怕给你造成混淆;
二来,后期会有专门的文章来介绍;
所以,这里就不做介绍。
看到这里,你可能会有疑问, 问什么不用Jmeter+MySQL+Grafana ,而要用InfluxDB呢?
我在这里先卖个关子,等你看完全篇,就知道我为什么用InfluxDB而不用MySQL或者其他数据库了。
接下来,我们就来先了解InfluxDB吧。
二、InfluxDB
2.1 InfluxDB介绍
InfluxDB定义:InfluxDB是一个由InfluxData开发的开源时序型数据。
编写语言:Go语言
应用场景:存储系统的监控数据,IoT行业的实时数据等;
特性:
1.时间顺序(Time Series):可以使用与时间相关的函数;
2.度量(Metrics):实时对大量数据进行计算;
3.事件(Eevents):支持任意事件数据;
特点:
1.为时间序列数据专门编写的自定义高性能数据存储
2.Golang编写,没有其它的依赖
3.提供简单、高性能的写入、查询?
4.插件支持其它数据写入协议,例如 graphite、collectd、OpenTSDB
5.支持类sql查询语句
6.tags可以索引序列化,提供快速有效的查询
7.Retention policies自动处理过期数据
8.Continuous queries自动聚合,提高查询效率
9.schemaless(无结构),可以是任意数量的列
10.Scalable可拓展
11.min, max, sum, count, mean,median 一系列函数,方便统计
12.Built-in Explorer 自带管理工具
通过上面总结的InfluxDB的特点,或许你就会知道,为什么要选择INfluxDB数据库了。
为了让你彻底了解InfluxDB与MySQL的区别,这里我在用一组对比数据。
所以,通过上表,我们可以知道InfluxDB与MySQL的 数据库是一样的,都是Database,但是列与表是不同的。
我再把InfluxDB的名词对应的解析给展开,便于你的理解。
到这里, 关于InfluxDB的基本信息,你应该理解的差不多了,接下来,我们就要进行InfluxDB的安装与配置了。
2.2 下载与安装
2.2.1 下载
1、官网下载:https://portal.influxdata.com/downloads/
2、直接列表路径下载
如果无法翻墙,可以直接复制下载列表进行下载,
下载路径:
Windows:https://dl.influxdata.com/influxdb/releases/influxdb2-2.0.7-windows-amd64.zip
CentOS:https://dl.influxdata.com/influxdb/releases/influxdb-1.7.1.x86_64.rpm
注:
①Windows 下载的是.zip包;
②CentOS 下载的是.rpm包;
③下载url,可以直接输入已存在的版本号,进行下载;
2.2.2 安装
一、Windows安装
安装方式很简单,
把下载的zip包解压到指定的盘符就可以,我解压在D盘:
最后:
可以到我的个人号:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试等。
这些测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!