首先,簡單介紹一下,性能測試平臺P-One。
PerformanceOne(簡稱:P-One)是澤眾軟件自主研發的一套一站式性能測試平臺軟件產品。
該產品采用 B/S 架構開發,實現了集管理、設計、壓測、監控以及分析于一體的全方位性能測試解決方案。可有效提升性能測試技術能力,提高效率,降低門檻,減少性能測試的投入,同時提升軟件產品質量。適用于各種非功能測試場景,如壓力測試、負載測試、穩定性測試、可靠性測試、容量測試等。
P-One性能測試平臺
P-One平臺主界面
隨著應用系統節點越來越多,越來越復雜,當出現任何一個節點的故障、異常,都會出現嚴重的性能問題。同時,當一個節點發生問題,給問題定位帶來了很大的困難:我們往往只知道出現了性能問題,如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慢日志監控服務
推薦閱讀: