前面的文章,咱們分析了壓測的時機,壓測的指標,那麼此次呢,咱們來看下,咱們這些壓測的指標,常見的都須要性能壓測中觀測點,有了對指標的梳理 ,咱們纔有重點的關注點,下面,我列舉一些常見的指標。git
•服務器cpugithub
•服務器內存數據庫
•服務器load服務器
•數據庫鏈接池網絡
•Redis 鏈接池工具
•Tomcat鏈接池性能
•TPS優化
•網絡帶寬線程
•響應時間日誌
•GC
•錯誤率
這些都是一些常見的指標了,固然了,還有一些其餘的指標,須要咱們根據本身的實際的業務去選擇,這些關注點,你們均可以去搭建一些監控平平臺,展現分析使用,例如火焰圖,zabbix,Grafana,InfluxDB,prometheus等工具。均可以成爲咱們監控分析的利器。
這些工具呢,都是一些在壓測中常見呢, 咱們來介紹下火焰圖
這是官方的github給咱們的。
由底部到頂部能夠追溯一個惟一的調用鏈,下面的方塊是上面方塊的父調用。
同一父調用的方塊從左到右以字母序排列。
方塊上的字符表示一個調用名稱,括號內是火焰圖指向的調用在火焰圖中出現的次數和這個方塊佔最底層方塊的寬度百分比。
方塊的顏色沒有實際意義,相鄰方塊的顏色差只爲了便於查看。
火焰圖則適合用在:
代碼循環分析:若是代碼中有很大的循環或死循環代碼,那麼從火焰圖的頂部或接近項部的地方會有很明顯的」平頂」,表示代碼頻繁地在某個線程棧上下切換。但須要注意的是,若是循環的總耗時不長,在火焰圖上不會很明顯。
IO 瓶頸/鎖分析:在咱們的應用代碼中,咱們的調用廣泛都是同步的,也就是說在進行網絡調用、文件 I/O 操做或未成功得到鎖時,線程會停留在某個調用上等待 I/O 響應或鎖,若是這個等待很是耗時,會致使線程在某個調用上一直 hang 住,這在火焰圖上表現得會很是清晰。與此相對的是,咱們應用線程構成的火焰圖沒法準確地表達 CPU 的消耗,由於應用線程內沒有系統的調用棧,在應用線程棧 hang 住時,CPU 可能去作其餘事了,致使咱們看到耗時很長,而 CPU 卻很閒。
火焰圖倒置分析全局代碼:火焰圖倒置有時也會很實用,若是咱們的代碼 N 個不一樣的分支都調用某一方法,倒置後,全部棧頂相同的調用被合併在一塊,咱們就能看出這個方法的總耗時,也就很容易評估出優化這個方法的收益。
zabbix 監控利器,官網是:
https://www.zabbix.com/
咱們來看下官方給咱們的效果圖
zabbix由2部分構成,zabbix server與可選組件zabbix agent。
Zabbix主要功能:
- CPU負荷
- 內存使用
-磁盤使用
- 網絡情況
- 端口監視
- 日誌監視。
咱們能夠用它來作咱們服務端的數據收集。
Grafana
美觀、強大的可視化監控指標展現工具。
https://grafana.com/docs/grafana/latest/installation/ 官網。
咱們來看下最後的效果,這是官網給的效果圖
在實際中,咱們能夠根據咱們的實際的需求,去完成咱們須要的平臺的搭建。