Jmeter實時監控+SpringBoot介面效能實戰
- 效能測試
- Jmeter實時監控+SpringBoot介面效能實戰
- 自動化
- SpringBoot
- Java
Jmeter實時監控+SpringBoot介面效能實戰
一、實驗目的及實驗環境
1.1、實驗目的
通過springboot編寫基於HTTP請求的get、post介面與jmeter整合進行壓力測試。實現最新版本influxdb、grafana實時監控效能測試資料。本次實驗所用用到的工具和編寫的介面程式碼都會百度雲連結分享給大家。
1.2、實驗環境
工具 |
版本 |
IntelliJ IDEA |
2017.2.7 |
mysql |
8.0.15 |
InfluxDB |
1.7.7 |
Grafana |
6.2.5-1 |
Linux |
CentOS release 6.5 (Final) |
Jmeter |
5.1.1 |
二、InfluxDB 簡介
InfluxDB 是用Go語言編寫的一個開源分散式時序、事件和指標資料庫,無需外部依賴。
類似的資料庫有Elasticsearch、Graphite等。
2.1、其主要特色功能
- 基於時間序列,支援與時間有關的相關函式(如最大,最小,求和等)
- 可度量性:你可以實時對大量資料進行計算
- 基於事件:它支援任意的事件資料
2.2、InfluxDB的主要特點
- 無結構(無模式):可以是任意數量的列
- 可拓展的
- 支援min, max, sum, count, mean, median 等一系列函式,方便統計
- 原生的HTTP支援,內建HTTP API
- 強大的類SQL語法
- 自帶管理介面,方便使用
三、InfluxDB安裝
3.1、檢視系統版本
cat /proc/version
cat /etc/issue
檢視結果如圖所示:
3.2、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.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
四、修改influx的配置檔案
4.1、Linux輸入編輯命令修改配置檔案
vim /etc/influxdb/influxdb.conf
原始檔為如下:
修改如下:
4.2、修改完畢以後,重啟動服務
service influxdb restart
4.3、檢視服務是否啟動
ps -ef |grep influxdb
4.4、埠說明
influxdb的兩個http埠:8083和8086
-
-
-
- port 8083:管理頁面埠,訪問localhost:8083可以進入你本機的influxdb管理頁面;
- port 8086:http連線influxdb client埠,一般使用該埠往本機的influxdb讀寫資料;
-
-
五、訪問頁面
5.1、輸入IP地址和埠號進行訪問
說明:之前老的版本可以訪問,這次使用的是最新版本,沒有訪問介面了。此次只是給大家展示一下,看下效果。
http://192.168.15.140:8083/
六、在linux中常用命令
6.1、萬能的幫助命令
influx -help
6.2、進入influx命令
influx
6.3、檢視influx狀態
show stats
6.4、顯示所有的資料庫
show databases
6.5、建立一個數據庫
create database "jmeter"
6.6、檢視該資料庫下所有的表
show measurements
其它常用命令,大家自行查詢即可。
七、Grafana簡介
Grafana可以不用等待整個測試執行完成之後才來檢視測試結果和資料,在整個測試過程中,資料可以實時輸出並以動態圖表的形式在前端展示,極大方便了效能測試人員對實時效能測試資料的監控,加上Grafana強大的圖表展示,每個測試人員都可以搭建出自己喜歡的圖形化頁面,並實時與其他人員共享,完成對整個效能測試過程中的實時資料監控。
八、Grafana安裝
8.1、下載安裝命令
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.2、啟動命令
service grafana-server start
8.3、檢視狀態命令
/etc/init.d/grafana-server status
8.4、頁面訪問地址
IP地址加上預設埠號3000
http://192.168.15.140:3000
預設使用者名稱、密碼:admin/admin
8.5、配置influx資料來源
Add data source
輸入引數資訊,點選Add按鈕
配置成功如下圖所示:
8.6、匯入監控DashBoard配置
點選import按鈕即可完成配置。
至此,監控的基本配置已經全部搭建完畢。下面我們需要使用Springboot編寫請求介面。
九、springboot編寫介面
9.1、建立資料庫、表結構
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.2、介面設計
-
- /user/register -->使用者註冊介面
- /user/get -->查詢使用者介面
9.3、打包執行
十、jmeter編寫效能指令碼
10.1、版本
-
- 官網下載最新的版本即可
http://jmeter.apache.org/download_jmeter.cgi
10.2、編寫請求指令碼
註冊介面為例子,傳引數name,phone(手機號唯一索引,不能重複)。post請求。
10.3、配置Backend Listener
10.4、執行jmeter,檢視監控指標
本次實驗所有工具以及程式碼分享。原則上大家只要安裝執行,即可看到效能監測的效果展示。
連結:https://pan.baidu.com/s/1YtrHHEfNOVK3Q4D2p8zUgg
提取碼:gn1b
- 一、實驗目的及實驗環境
- 1.1、實驗目的
- 1.2、實驗環境
- 二、InfluxDB 簡介
- 2.1、其主要特色功能
- 2.2、InfluxDB的主要特點
- 三、InfluxDB安裝
- 3.1、檢視系統版本
- 3.2、RedHat & CentOS安裝命令
- 3.3、安裝JDK1.8版本
- 四、修改influx的配置檔案
- 4.1、Linux輸入編輯命令修改配置檔案
- 4.2、修改完畢以後,重啟動服務
- 4.3、檢視服務是否啟動
- 4.4、埠說明
- 五、訪問頁面
- 5.1、輸入IP地址和埠號進行訪問
- 六、在linux中常用命令
- 6.1、萬能的幫助命令
- 6.2、進入influx命令
- 6.3、檢視influx狀態
- 6.4、顯示所有的資料庫
- 6.5、建立一個數據庫
- 6.6、檢視該資料庫下所有的表
- 七、Grafana簡介
- 八、Grafana安裝
- 8.1、下載安裝命令
- 8.2、啟動命令
- 8.3、檢視狀態命令
- 8.4、頁面訪問地址
- 8.5、配置influx資料來源
- 8.6、匯入監控DashBoard配置
- 九、springboot編寫介面
- 9.1、建立資料庫、表結構
- 9.2、介面設計
- 9.3、打包執行
- 十、jmeter編寫效能指令碼
- 10.1、版本
- 10.2、編寫請求指令碼
- 10.3、配置Backend Listener
- 10.4、執行jmeter,檢視監控指標
發現幫助中心更新日誌資料安全關於我們服務協議反饋English