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

相關文章
相關標籤/搜索