美文网首页性能测试
基于JMeter+influxdb+telegraf+grafa

基于JMeter+influxdb+telegraf+grafa

作者: 春天还没到 | 来源:发表于2017-10-25 15:16 被阅读0次

由于业务需要,需要搭建一套性能测试平台,由于接口大多采用java和http,因此采用Jmeter,先测试一些简单的java请求。
一、JMeter配置
Apache JMeter是Apache组织开发的基于Java的压力测试工具,它可以对静态资源和动态资源进行性能测试,支持许多插件,可以通过Jmeter的Plugins Manage进行查看,满足大多数的性能测试需求。官网地址:http://jmeter.apache.org/
1、下载最新的JMeter(目前的版本是3.3)
2、新建线程组,官方推荐bzm-Concurrency Thread Group, 设置并发数(Target Concurrency),启动并发数所需要时间(Ramp Up Time(min)),启动步骤(Ramp-Up Steps Count), 持续时间(Hold Target Rate Time(min)),如下图

jmeter配置图

3、添加配置元件"CSV Data Set Config",设置参数,可支持csv,txt等格式的文件,如图

参数文件配置

4、添加Sampler-->"Java请求",选择待测试的类,输入参数,如图

Java请求

5、添加定时器

定时器配置

6、添加监听器,Backend Listener,这里主要是配置采集的数据入influxdb,如图

Backend Listener监听器

二、influxdb的安装
influxdb为采用go语言编写的开源的分布式时序、时间和指标数据库,无需外部依赖。它具有三大特征即时序性(Time Series:与时间相关的函数的灵活使用(诸如最大、最小、求和等))、度量(Metrics:对实时大量数据进行计算)、事件(Event:支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作)。安装比较简单,容易上手
1、官网https://portal.influxdata.com/downloads下载最新的influxdb本文版本是1.3.6,按照官网的指导安装,如下图:

influxdb安装

2、修改配置文件vim /etc/influxdb/influxdb.conf,把graphite打开,如图

influxdb.conf

3、启动influxdb, 直接用命令influxd即可,默认配置文件就是2中的配置文件

三、telegraf安装
telegraf主要是用来收集主机信息,如cpu, mem, disk, net等,安装配置比较简单
1、官网https://portal.influxdata.com/downloads下载最新的telegraf,按照官网的指导安装,如下图:

telegraf安装
2、修改配置文件(/etc/telegraf/telegraf.conf),打开outputs.influxdb,填写自己的配置如图: telegraf.conf配置

其它的配置按默认
3、启动即可采集telegraf 或可指定配置文件(加命令--config + 配置文件)

四、grafana安装
Grafana 是基于JS开发的,功能齐全的度量仪表盘和图形编辑器,帮助开发人员发现问题的工具。grafana有强大的图形界面显示,可以通过配置显示数据的图表。基本概念包括datasource(数据的存储源,它定义了将用什么方式来查询数据展示在grafana上面,不同的datasource拥有不同的查询语法,grafana支持多种类型例如es,influxdb)、dashborad(row的集合)、row(panel的集合)、panel(最小的可视化单位,支持多种数据展示方式如table,graph)、playlist(dashborad的集合,当控制台数据太多时,用来快速在目标群中切换)。安装配置简单
1、下载安装最新的grafana(https://grafana.com/grafana/download)
2、按照官网的指导文档安装同influxdb和telegraf,linux下的安装命令如下:
(1)、wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.5.2-1.x86_64.rpm
(2)、sudo yum localinstall grafana-4.5.2-1.x86_64.rpm
3、配置图表,新建数据源datasource, 即jmeter,配置图表,主要收集QPS, Response Time, 线程, CPU , 内存, 网络, 系统负载
配置后的图表如下:

配置的模板图

上图为jmeter中一次执行中收集的到数据

相关文章

  • 基于JMeter+influxdb+telegraf+grafa

    由于业务需要,需要搭建一套性能测试平台,由于接口大多采用java和http,因此采用Jmeter,先测试一些简单的...

  • 三种管理方式

    基于控制 基于责任 基于愿景

  • 推荐系统简介

    推荐问题产生 信息过载 推荐问题解决方法 基于内容 基于协同过滤 基于邻域的方法基于用户基于物品 基于模型的方法隐...

  • Spring配置元数据的三种方式

    基于java配置方式 基于注解方式 基于xml方式

  • 清晨日记 | 高效率慢生活践行DAY24【文案】

    Keep moving forward 过分追求完美,往往过得并不完美 ——基于流程、基于制度、基于习惯、基于训练...

  • 分布式锁(Redis)

    基于数据库的 基于redis 基于zookeeper 基于数据库 基于redis 先来看第一种 改进版 redi...

  • 分布式锁入门

    目前主流的有三种: 基于数据库实现 基于Redis实现 基于ZooKeeper实现 1. 基于数据库实现: 基于数...

  • 关于中文分词

    一. 分词的类型 1. 基于词典:基于字典、词库匹配 2. 基于统计 3. 基于理解 二. 基于词典分词 1. 正...

  • 清晨日记 | 高效率慢生活践行DAY25【千茄】

    Keep moving forward 严肃的个人追求,需要纯时间的积累 ——基于流程、基于制度、基于习惯、基于训...

  • 逃离(1)

    前言: 逃离,可以基于软弱,可以基于无奈,可以基于恐惧,也可以基于淡漠。我的逃离基于什么我自己也不清楚,好像都是,...

网友评论

    本文标题:基于JMeter+influxdb+telegraf+grafa

    本文链接:https://www.haomeiwen.com/subject/dodnrxtx.html