- 性能測試
- 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,查看監控指標