Jmeter实时监控+SpringBoot接口性能实战

 

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.一、其主要特点功能

    1. 基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
    2. 可度量性:你能够实时对大量数据进行计算
    3. 基于事件:它支持任意的事件数据

2.二、InfluxDB的主要特色

    1. 无结构(无模式):能够是任意数量的列
    2. 可拓展的
    3. 支持min, max, sum, count, mean, median 等一系列函数,方便统计
    4. 原生的HTTP支持,内置HTTP API
    5. 强大的类SQL语法
    6. 自带管理界面,方便使用

3、InfluxDB安装

 

3.一、查看系统版本

cat /proc/version

cat /etc/issue

 查看结果如图所示:

image.png

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

image.png

卸载版本

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

源文件为以下:

image.png

修改以下:

image.png

4.二、修改完毕之后,重启动服务

service influxdb restart

4.三、查看服务是否启动

ps -ef |grep influxdb

image.png

4.四、端口说明   

 influxdb的两个http端口:8083和8086

        • port 8083:管理页面端口,访问localhost:8083能够进入你本机的influxdb管理页面;
        • port 8086:http链接influxdb client端口,通常使用该端口往本机的influxdb读写数据;

 

5、访问页面

5.一、输入IP地址和端口号进行访问

说明:以前老的版本能够访问,此次使用的是最新版本,没有访问界面了。这次只是给你们展现一下,看下效果。

http://192.168.15.140:8083/

image.png

 

6、在linux中经常使用命令

 

6.一、万能的帮助命令

influx -help

6.二、进入influx命令

influx

image.png

 

6.三、查看influx状态

show stats

image.png

6.四、显示全部的数据库

show databases

image.png

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 

安装遇到的小问题:

      1. wget没法安装,解决方案
        1. -->解决方法是加--no-check-certificate参数
      1. 另一种下载方式
        1. -->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

http://192.168.15.140:3000

默认用户名、密码:admin/admin

image.png

 

8.五、配置influx数据源

Add data source

image.png        输入参数信息,点击Add按钮

image.png

配置成功以下图所示:

image.png

8.六、导入监控DashBoard配置

image.pngimage.pngimage.png点击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.三、打包运行

image.png

10、jmeter编写性能脚本

 

10.一、版本

    • 官网下载最新的版本便可

          http://jmeter.apache.org/download_jmeter.cgi

image.png

10.二、编写请求脚本

image.png

注册接口为例子,传参数name,phone(手机号惟一索引,不能重复)。post请求。

10.三、配置Backend Listener

image.png

10.四、运行jmeter,查看监控指标

2019-07-14_161651.png

 

本次实验全部工具以及代码分享。原则上你们只要安装运行,便可看到性能监测的效果展现。

 

连接:https://pan.baidu.com/s/1YtrHHEfNOVK3Q4D2p8zUgg

提取码:gn1b

 

image.png

 

 
 
 

 

回复

原文出处:https://www.cnblogs.com/hardy-test/p/11187312.html

相关文章
相关标签/搜索