本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

4.x版本Java探針持續剖析效能壓測報告

更新時間:2024-12-27 19:35

ARMS 探針在應用運行時為應用提供持續剖析能力。與其他類似採集工具一樣,持續剖析功能會帶來一定的應用效能開銷,但ARMS團隊已經採用多項技術對其進行最佳化,將相關效能開銷降低到極低的範圍,以確保應用的穩定運行。在本篇測試報告中,我們類比了真實的使用情境,測試ARMS持續剖析在不同業務流量下帶來的效能開銷,您可以參考本篇分析報告,在使用ARMS持續剖析前,基於效能影響進行充分的評估。

測試情境

整體架構如下圖所示:

Java應用基於Spring MVC架構編寫,根據壓測源發起的不同請求,會分別訪問MySQL和Redis服務。對於請求${mall-gateway}/case/api/v1/mysql/execute,Java應用會訪問MySQL(每接到一次請求,會訪問1~4次MySQL);對於請求${mall-gateway}/case/api/v1/redis/execute,Java應用會訪問Redis(每接到一次請求,會訪問1~10次Redis)。兩種請求各佔50%的QPS。

測試環境

  • 壓測源由阿里雲效能測試服務PTS提供。

  • Java應用、MySQL、Redis都部署在同一個阿里雲Container ServiceACK叢集中,節點執行個體類型為ecs.u1-c1m2.8xlarge,節點的作業系統版本為Alibaba Cloud Linux 2.1903 LTS 64位。

  • Java應用的Pod規格為2核4G,雙副本。

  • ARMS探針採用Aliyun JavaAgent 4.2.1版本。

  • Demo程式碼程式庫

測試流程

  1. 安裝ARMS探針後,在採樣原則設定為10%固定採樣率的情況下,分別使用基於500/1000/2000 QPS,發起3次壓測,每次的持續時間長度為1小時,每次壓測前都先基於50 QPS壓測流量對Java應用進行5分鐘預熱,然後運行30分鐘,待各項資料穩定以後,動態開啟持續剖析所有功能(CPU熱點、記憶體熱點和代碼熱點功能)繼續運行30分鐘,觀察開啟持續剖析前後應用的各項效能指標(CPU開銷、記憶體開銷、RT)上的差異情況。

  2. 安裝ARMS探針後,在採樣原則設定為100%固定採樣率的情況下,重複第1步的壓測,對比Java應用在CPU開銷、記憶體開銷、RT上的差異。

未開啟持續剖析效能指標

對比項

10%採樣率

100%採樣率

CPU

記憶體

RT

CPU

記憶體

RT

對比項

10%採樣率

100%採樣率

CPU

記憶體

RT

CPU

記憶體

RT

500 QPS

8.112%

13.52%

55.5 ms

8.416%

13.62%

56.5ms

1000 QPS

15.247%

14.14%

62.9 ms

15.614%

14.42%

65.3 ms

2000 QPS

30.550%

14.64%

70.6 ms

30.945%

14.67%

71.1 ms

開啟持續剖析效能指標

對比項

10%採樣率

100%採樣率

CPU

記憶體

RT

CPU

記憶體

RT

對比項

10%採樣率

100%採樣率

CPU

記憶體

RT

CPU

記憶體

RT

500 QPS

8.912%

15.52%

55.6 ms

9.316%

15.71%

56.6 ms

1000 QPS

17.140%

16.24%

63.0 ms

17.710%

16.82%

65.4 ms

2000 QPS

34.650%

16.84%

70.7 ms

35.245%

16.89%

71.3 ms

持續剖析效能開銷

對比項

10%採樣率

100%採樣率

CPU

記憶體

RT

CPU

記憶體

RT

對比項

10%採樣率

100%採樣率

CPU

記憶體

RT

CPU

記憶體

RT

500 QPS

+0.80%

+2.00%

+0.1 ms

+0.90%

+2.09%

+0.1 ms

1000 QPS

+1.893%

+2.10%

+0.1 ms

+2.096%

+2.40%

+0.1 ms

2000 QPS

+4.10%

+2.20%

+0.1 ms

+4.30%

+2.22%

+0.2 ms

分析結論

  1. 持續剖析所有子功能全部開啟的情況下,CPU和記憶體等開銷都在5%以內。如果僅開啟部分功能,例如代碼熱點,開銷會更低。

  2. 持續剖析對應用延時影響較小,在一般壓力情境下,開啟持續剖析前後無明顯變化。

  • 本頁導讀 (1, M)
  • 測試情境
  • 測試環境
  • 測試流程
  • 未開啟持續剖析效能指標
  • 開啟持續剖析效能指標
  • 持續剖析效能開銷
  • 分析結論
文檔反饋
phone 聯絡我們

立即和Alibaba Cloud在線服務人員進行交談,獲取您想了解的產品信息以及最新折扣。

alicare alicarealicarealicare