すべてのプロダクト
Search
ドキュメントセンター

Cloud Monitor:Python 用 ARMS エージェントのパフォーマンス テスト レポート

最終更新日:Nov 10, 2025

Application Real-Time Monitoring Service (ARMS) の Python エージェントは、モンキーパッチを使用してアプリケーションのパフォーマンスを管理することにより、可観測性を向上させます。これは、ある程度の性能オーバーヘッドをもたらします。ただし、ARMS チームは、アプリケーションの安定性を損なうことなく、エージェントの性能オーバーヘッドを削減するための多くの手法を採用しています。このテストレポートでは、トラフィックの異なるシナリオをシミュレートして、Python 用 ARMS エージェントの性能オーバーヘッドをテストします。アプリケーションをアプリケーション監視に接続する前に、このレポートを参照して包括的な評価を行うことをお勧めします。

テストシナリオ

フローチャート

Performance Testing Service (PTS) は、FastAPI フレームワークで構築された Python アプリケーションにトラフィックを転送することにより、ストレステストを開始します。次に、Python アプリケーションは Python Instrumentor を介してトレースを収集し、メトリクスを生成し、このデータを ARMS サーバーに転送します。

テスト環境

  • ストレステストのソースは PTS によって提供されます。

  • Python アプリケーションは、Alibaba Cloud Container Service for Kubernetes (ACK) クラスタにデプロイされています。ノードのインスタンスタイプは ecs.c6.2xlarge で、ノードのオペレーティングシステムのバージョンは Alibaba Cloud Linux 3.2104 LTS 64 ビットです。

  • アプリケーションの各ポッドには、2 コア、2 GB のメモリ、および 2 つのレプリカがあります。

  • Python 用 ARMS エージェント V1.0.0 を使用します。

テスト手順

  1. 500、1,000、および 2,000 QPS で 3 つのストレステストを実行します。各ストレステストは 1 時間続きます。各ストレステストの前に、Python アプリケーションを 100 QPS で 3 分間ウォームアップします。テスト結果は、ベースライン パフォーマンス メトリックとして使用されます。

  2. Python 用 ARMS エージェントをインストールします。サンプリングポリシーで固定サンプリングレート 10% を設定し、手順 1 のストレステストを繰り返して、Python アプリケーションの CPU オーバーヘッド、メモリオーバーヘッド、および応答時間の差を比較します。

  3. データレポートを無効にし、プラグインを有効にして、手順 1 ~ 2 を繰り返します。

ベースライン パフォーマンス メトリック

項目

CPU

メモリ

応答時間

(単位: ミリ秒)

500 QPS

8%

2%

17.28

1,000 QPS

15%

2%

36.3

2,000 QPS

27.12%

2%

44.9

Python 用 ARMS エージェントのパフォーマンス メトリック

項目

CPU

メモリ

応答時間

(単位: ミリ秒)

500 QPS

11.9%

4.8%

17.31

1,000 QPS

22.5%

4.8%

37.1

2,000 QPS

36.67%

4.8%

46.6

Python 用 ARMS エージェントの性能オーバーヘッド

項目

CPU

メモリ

応答時間

(単位: ミリ秒)

500 QPS

+3.9%

+2.8%

+0.03

1,000 QPS

+7.5%

+2.8%

+0.80

2,000 QPS

+9.55%

+2.8%

+1.67

結論

  1. Python 用 ARMS エージェントは、CPU とメモリのオーバーヘッドを 10% 以下に増加させます。

  2. Python 用 ARMS エージェントは、応答時間への影響はわずかです。