- 性能测试
- Jmeter实时监控+SpringBoot接口性能实战
- 自动化
- SpringBoot
- Java
Jmeter实时监控+SpringBoot接口性能实战
1、实验目的及实验环境
1.一、实验目的
经过springboot编写基于HTTP请求的get、post接口与jmeter集成进行压力测试。实现最新版本influxdb、grafana实时监控性能测试数据。本次实验所用用到的工具和编写的接口代码都会百度云连接分享给你们。html
1.二、实验环境
工具前端 |
版本vue |
IntelliJ IDEAjava |
2017.2.7node |
mysqlmysql |
8.0.15linux |
InfluxDBspring |
1.7.7sql |
Grafana数据库 |
6.2.5-1 |
Linux |
CentOS release 6.5 (Final) |
Jmeter |
5.1.1 |
2、InfluxDB 简介
InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。
相似的数据库有Elasticsearch、Graphite等。
2.一、其主要特点功能
-
- 基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
- 可度量性:你能够实时对大量数据进行计算
- 基于事件:它支持任意的事件数据
2.二、InfluxDB的主要特色
-
- 无结构(无模式):能够是任意数量的列
- 可拓展的
- 支持min, max, sum, count, mean, median 等一系列函数,方便统计
- 原生的HTTP支持,内置HTTP API
- 强大的类SQL语法
- 自带管理界面,方便使用
3、InfluxDB安装
3.一、查看系统版本
cat /proc/version
cat /etc/issue
查看结果如图所示:
3.二、RedHat & CentOS安装命令
Linux输入以下下载命令:
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.7.x86_64.rpm
下载完成之后,输入以下安装命令:
sudo yum localinstall influxdb-1.7.7.x86_64.rpm
3.三、安装JDK1.8版本
查看版本
rpm -qa | grep jdk
卸载版本
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.181-2.6.14.10.el6.x86_64
安装JDK1.8版本
rpm -ivh jdk-8u60-linux-x64.rpm
4、修改influx的配置文件
4.一、Linux输入编辑命令修改配置文件
vim /etc/influxdb/influxdb.conf
源文件为以下:
修改以下:
4.二、修改完毕之后,重启动服务
service influxdb restart
4.三、查看服务是否启动
ps -ef |grep influxdb
4.四、端口说明
influxdb的两个http端口:8083和8086
-
-
-
- port 8083:管理页面端口,访问localhost:8083能够进入你本机的influxdb管理页面;
- port 8086:http链接influxdb client端口,通常使用该端口往本机的influxdb读写数据;
-
-
5、访问页面
5.一、输入IP地址和端口号进行访问
说明:以前老的版本能够访问,此次使用的是最新版本,没有访问界面了。这次只是给你们展现一下,看下效果。
6、在linux中经常使用命令
6.一、万能的帮助命令
influx -help
6.二、进入influx命令
influx
6.三、查看influx状态
show stats
6.四、显示全部的数据库
show databases
6.五、建立一个数据库
create database "jmeter"
6.六、查看该数据库下全部的表
show measurements
其它经常使用命令,你们自行查询便可。
7、Grafana简介
Grafana能够不用等待整个测试执行完成以后才来查看测试结果和数据,在整个测试过程当中,数据能够实时输出并以动态图表的形式在前端展现,极大方便了性能测试人员对实时性能测试数据的监控,加上Grafana强大的图表展现,每一个测试人员均可以搭建出本身喜欢的图形化页面,并实时与其余人员共享,完成对整个性能测试过程当中的实时数据监控。
8、Grafana安装
8.一、下载安装命令
wget https://dl.grafana.com/oss/release/grafana-6.2.5-1.x86_64.rpm
sudo yum localinstall grafana-6.2.5-1.x86_64.rpm
安装遇到的小问题:
-
-
- wget没法安装,解决方案
-
-
-
-
- -->解决方法是加
--no-check-certificate
参数
- -->解决方法是加
-
-
-
-
- 另一种下载方式
-
-
-
-
- -->curl -O -L https://dl.grafana.com/oss/release/grafana-6.2.5-1.x86_64.rpm
-
-
8.二、启动命令
service grafana-server start
8.三、查看状态命令
/etc/init.d/grafana-server status
8.四、页面访问地址
IP地址加上默认端口号3000
默认用户名、密码:admin/admin
8.五、配置influx数据源
Add data source
输入参数信息,点击Add按钮
配置成功以下图所示:
8.六、导入监控DashBoard配置
点击import按钮便可完成配置。
至此,监控的基本配置已经所有搭建完毕。下面咱们须要使用Springboot编写请求接口。
9、springboot编写接口
9.一、建立数据库、表结构
CREATE DATABASE `jmeter` /*!40100 DEFAULT CHARACTER SET utf8 */ CREATE TABLE `user_model` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL DEFAULT '', `phone` varchar(64) NOT NULL DEFAULT '', PRIMARY KEY (`id`), UNIQUE KEY `phone_index` (`phone`) ) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8
user_model表,只传两个字段name/phone完成注册请求。
9.二、接口设计
-
- /user/register -->用户注册接口
- /user/get -->查询用户接口
9.三、打包运行
10、jmeter编写性能脚本
10.一、版本
-
- 官网下载最新的版本便可
http://jmeter.apache.org/download_jmeter.cgi
10.二、编写请求脚本
注册接口为例子,传参数name,phone(手机号惟一索引,不能重复)。post请求。
10.三、配置Backend Listener
10.四、运行jmeter,查看监控指标
本次实验全部工具以及代码分享。原则上你们只要安装运行,便可看到性能监测的效果展现。
连接:https://pan.baidu.com/s/1YtrHHEfNOVK3Q4D2p8zUgg
提取码:gn1b
- 1、实验目的及实验环境
- 1.一、实验目的
- 1.二、实验环境
- 2、InfluxDB 简介
- 2.一、其主要特点功能
- 2.二、InfluxDB的主要特色
- 3、InfluxDB安装
- 3.一、查看系统版本
- 3.二、RedHat & CentOS安装命令
- 3.三、安装JDK1.8版本
- 4、修改influx的配置文件
- 4.一、Linux输入编辑命令修改配置文件
- 4.二、修改完毕之后,重启动服务
- 4.三、查看服务是否启动
- 4.四、端口说明
- 5、访问页面
- 5.一、输入IP地址和端口号进行访问
- 6、在linux中经常使用命令
- 6.一、万能的帮助命令
- 6.二、进入influx命令
- 6.三、查看influx状态
- 6.四、显示全部的数据库
- 6.五、建立一个数据库
- 6.六、查看该数据库下全部的表
- 7、Grafana简介
- 8、Grafana安装
- 8.一、下载安装命令
- 8.二、启动命令
- 8.三、查看状态命令
- 8.四、页面访问地址
- 8.五、配置influx数据源
- 8.六、导入监控DashBoard配置
- 9、springboot编写接口
- 9.一、建立数据库、表结构
- 9.二、接口设计
- 9.三、打包运行
- 10、jmeter编写性能脚本
- 10.一、版本
- 10.二、编写请求脚本
- 10.三、配置Backend Listener
- 10.四、运行jmeter,查看监控指标