-
性能監控(監控性能測試過程,收集性能測試過程中數據,擁有性能分析----主要時收集被測服務器的資源使用情況)
1.被測服務器的資源:硬件資源: cpu、內存、io、網絡 軟件資源: tomcat、jvm、數據庫、連接池、中間件..先硬件,在軟件
2.監控工具 備注:監控工具是監控被測服務器的,所以監控工具要安裝在被測服務器上,監控工具,本身也有資源消化,所以,選擇監控工具,要盡可能選擇資源消耗比較少的工具
1)nmon工具:這個工具,只能監控,linux服務器(不能監控windows),是一個獨立工具,不依賴我們性能測試工具的,進行服務器資源監控時,本身資源消耗很少,收集的監控數據比較全 安裝:nmon16m_helpsystems.tar.gz tar -zxvf 解壓 開啟: 查看當前當前 centos服務系統:cat /etc/redhat-release 看到系統架構 x84_64 :uname -a 根據當前系統啟動對應nmon: ./nmon_x86_64_centos7 有3中交互模式:屏幕交互模式,數據收集模式—這一種用的比較多,定時執行模式 (已數據收集為主講解) 數據采集:./nmon_x86_64_centos7 -f -s3 -c50 -f 數據交互模式 每3秒采集一次,采集50次 150秒 的時長,未指定文件,監控結果以文件形式輸出,默認機器名+日期.nmon格式 ps -ef |grep nmon 查看當前nmon執行情況 報告結果分析:已sz 命令將監控結果文件導出到本地,用過nmon_analyse 文件,分析生產報告 監控結果nmon 解析文件
生成報告.xlsx
2)SeverAgent 工具:這個工具,可以和jmeter集成,在jmeter的GUI界面可以看到數據(可以監控window、linux)
安裝: rz 命令 把ServerAgent zip包上傳到被測服務器 unzip ServerAgent-2.2.3.zip 解壓
啟動: /startAgent.sh ----啟動命令, ServerAgent服務的默認端口 4444 這個端口,在一些雲服務器中,不允許對外開放,所以,我們在啟動ServerAgent這個服務的時候,需要指定服務的端口 ./startAgent.sh --udp-port 0 --tcp-port 5689 修改指定端口
數據采集:jmeter 中監控:jp@gc - PerfMon Metrics Collector (在監聽器的使用時,不同的單位,選擇用多個監聽器,不建議放在1個監聽器中CPU,內存等等--單獨監控)
3)grafana + influxdb + jmeter: 與jmeter集成,可以把jmeter進行性能測試過程中的數據,寫入influxdb數據庫中,通過grafana前端平台來展示出來
vs jmeter + severAgent: ServerAgent也可以和jmeter集成,但是,它只能在jmeter的gui界面中展示,脫離了jmeter的gui界面,就不能看到數據,也不能回看數據。
運行軟件及原理:
grafana:專門用於數據展示的前端平台,通過瀏覽器來訪問,它自身沒有數據存儲功能
influxdb:時序數據庫;數據庫: 持久化存儲數據的管理系統dbms;時序數據庫:時間序列 這個數據庫中,存放的數據,肯定有時間字段 根據時間來存數據, 根據時間排序
jmeter:進行性能測試,產生數據, 數據要寫入influxdb數據庫,通過grafana進行數據顯示
安裝:influxdb
位置:不能安裝在被測服務器上。要求安裝在非被測服務器上。 寫入數據影響性能
安裝:influxdb-1.7.0.x86_64.rpm (influxdb數據庫的版本,**建議使用1.x** (不能是用2.x ))通過命令 `yum install influxdb-1.7.0.x86_64.rpm -y` 執行完,把influxdb數據庫已經安裝成功;influxdb數據庫默認端口 8086
啟動:`influxd ` ---啟動命令
進入數據庫:需要啟動另一個終端(一個終端用於啟動,一個用於數據庫創建);進入數據庫命令:influx
` show databases;` 我們看到沒有jmeter庫,我們就需要去創建一個庫: create database jmeter; 使用對應數據庫:use jmeter;
查看表:show measurements;查看表,jmeter在執行時會自動創建一個為jmeter的表,無需自己創建
查看數據:select * from jmeter`
安裝:grafana
位置:安裝在與influxdb同服務器
安裝:將安裝包放在服務器grafana-7.4.3-1.x86_64.rpm 通過` yum install grafana-7.4.3-1.x86_64.rpm -y`命令安裝
啟動:systemctl restart grafana-server
配置:訪問grafana: http://grafana-server-ip:3000 admin admin
設置:datasources: url http://influxdb數據庫的IP:8086 database: jmeter 選擇模版:指定模版號,可選擇展示模版
運行:jmeter進行性能測試,把數據寫入influxdb數據庫中:監聽器:后端監聽器------后端監聽實現選擇:influxdb
查看:訪問grafana: http://grafana-server-ip:3000 admin admin
4) grafana + prometheus + node_exporter
運行軟件及原理:
grafana:專門用於數據展示的前端平台,通過瀏覽器來訪問,它自身沒有數據存儲功能
prometheus:時序數據庫;數據庫: VS influxdb : https://www.jianshu.com/p/d666ee3147d2 ---------無需安裝在被測服務器
node_exporter:收集數據(收集監控數據):收集linux**系統資源利用**數據, 這個解決方案中,node_exporter 是可變的,是根據你要收集**哪些數據來進行選擇**—安裝在被測服務器上
安裝: prometheus:
prometheus-2.20.1.linux-amd64.tar.gz 壓縮包直接解壓 然后啟動 `./prometheus,預覽 :默認端口: 9090 http://prometheus_ip:9090
安裝: node_exporter
node_exporter-1.1.1.linux-amd64.tar.gz 壓縮包直接解壓 然后啟動 `./node_exporter‘’,預覽 :默認端口: 默認端口:9100 http://node_exporter_ip:9100
配置: prometheus + node_exporter結合
修改prometheus配置文件: prometheus.yml : vim命令進入,i 進入插入模式,配置添加 node_exporte的ip端口,ESC 退出編輯模式,:w 保存;:q 退出 --------修改成功
監控: 啟動:systemctl restart grafana-server
配置:訪問grafana: http://grafana-server-ip:3000 admin admin data sources :prometheus_node import :導入模版