首先,簡單介紹一下,性能測試平台P-One。
PerformanceOne(簡稱:P-One)是澤衆軟體自主研發的一套一站式性能測試平台軟體産品。
該産品采用 B/S 架構開發,實作了集管理、設計、壓測、監控以及分析于一體的全方位性能測試解決方案。可有效提升性能測試技術能力,提高效率,降低門檻,減少性能測試的投入,同時提升軟體産品品質。适用于各種非功能測試場景,如壓力測試、負載測試、穩定性測試、可靠性測試、容量測試等。
P-One性能測試平台
P-One平台主界面
官方網站:http://www.spasvo.com/Products/pone.asp
随着應用系統節點越來越多,越來越複雜,當出現任何一個節點的故障、異常,都會出現嚴重的性能問題。同時,當一個節點發生問題,給問題定位帶來了很大的困難:我們往往隻知道出現了性能問題,如tps達不到要求,大量交易失敗,但是我們不知道問題在哪個節點上,也不知道出問題的節點,問題的原因是什麼。
從本質上來看,我們需要解決兩個問題:第一,定位問題節點;第二,找到問題原因。
關于第一個問題,定位問題節點,我們推薦采用的方法就是全鍊路的時間片分析法。那麼,什麼是時間片分析法?
全鍊路的時間片分析法
如上圖,當出現某個交易異常,我們很難發現問題縮在。
使用POne的全鍊路分析,可以很容易的解決這個問題:
1、使用全鍊路,來找到出現異常的交易鍊路,如上圖顔色辨別;
2、全鍊路分析工具,可以展示,在這個鍊路上,各個節點消耗的時間片:
節點消耗統計
3、根據異常的時間片,可以定位問題節點。
從上面的表格資料,我們可以看到,
1)nginx服務,總共消耗了20毫秒(ms),在這個交易中,這個節點出發的鍊路,消耗了10s的時長,一般情況下就是異常交易;
2)微服務1,本身消耗了30ms,這個節點發起的鍊路,消耗了9970ms,也就是20ms被nginx消耗了,還有10ms被網絡消耗(假設是網絡消耗了10ms);
3)微服務2,本身消耗了30ms,看起來也是正常的,它和它的下面鍊路,總共消耗9930ms;
4)Database server,總共消耗的時長數是9890,将近10秒了!!!
5)我們可以基本上認為,問題節點就是資料庫服務。
POne的全鍊路分析圖:
4、檢視可能問題節點的計數器,來定位問題:
nginx監控服務
Redis監控服務
JVM程序監控服務
MYSQL慢日志監控服務
推薦閱讀:
為什麼性能測試PR單機版要更新到澤衆P-One一站式性能測試平台
澤衆P-One一站式性能測試平台如何安裝在國産化作業系統上運作