APMインサイト Pythonエージェント パフォーマンスレポート
パフォーマンステストを行った環境
- OS:Ubuntu 20.04.1 LTS
- CPU:6-core
- Memory:15.3GB
- Python Version:Python 3.8.10
- Application framework:Django 4.0.4
- テスト実施期間:2時間
アプリケーションの応答時間への影響
4つのサンプルPythonアプリケーションインスタンスを比較します。
・APMインサイト Pythonエージェント:あり/なし
・それぞれ1分あたり300トランザクションと600トランザクションを実行
データは2時間にわたって収集しました。
1分あたり300トランザクション:
応答時間の概要 | エージェントなし | エージェントあり |
---|---|---|
平均応答時間(ミリ秒) | 18852 | 19274 |
ピーク応答時間(ミリ秒) | 23406 | 24106 |
APMインサイト Pythonエージェントの有無でアプリケーションを実行した際に観測される平均時間差は約2.22%です。
以下のタイムラインチャートは、過去の傾向を表示しています。
1分あたり600トランザクション:
応答時間の概要 | エージェントなし | エージェントあり |
---|---|---|
平均応答時間(ミリ秒) | 37620 | 38777 |
ピーク応答時間(ミリ秒) | 47792 | 48413 |
APMインサイト Pythonエージェントの有無でアプリケーションを実行した際に観測される平均時間差は約3.05%です。
以下のタイムラインチャートは、過去の傾向を表示しています。
CPU使用率への影響
APMインサイト PythonエージェントによるCPU消費量は、主にインストルメントされたメソッドの数とログレベル(デフォルトは DEBUG)によって異なります。
以下に示すデータは、APMインサイト Pythonエージェントの有無にかかわらず並行して実行されたアプリケーションのデータをまとめたものです。
1分あたり300トランザクション:
CPU使用率 | エージェントなし | エージェントあり |
---|---|---|
平均使用率 (%) | 0.49 | 0.7 |
アプリケーションが1分あたり300件のトランザクションで実行された際、エージェントはCPU使用量の合計の平均0.21%を消費しました。
以下のタイムラインチャートは、過去の傾向を表示しています。
1分あたり600トランザクション:
CPU使用率 | エージェントなし | エージェントあり |
---|---|---|
平均使用率(%) | 1.53 | 2.51 |
アプリケーションが1分あたり600トランザクションで実行された際、エージェントはCPU使用量の合計の平均0.98%を消費しました。
以下のタイムラインチャートは、過去の傾向を表示しています。
物理メモリ(RAM)使用量への影響
デフォルトでは、APMインサイト Pythonエージェントはパフォーマンスデータを収集し、それを1分ごとに独自のサービスにプッシュします。
そのため、ユーザーメモリのフットプリントは最小限で、一時的なものになります。
【重要なポイント】
メモリ消費量は1分間に収集されるデータの量に正比例するため、サンプリング係数またはトランザクショントレースしきい値を下げると、RAM使用量が増加します。
以下のデータは、エージェントの有無にかかわらず並行して実行されたアプリケーションのデータをまとめたものです。
1分あたり300トランザクション:
メモリ使用量 | エージェントなし | エージェントあり |
---|---|---|
平均使用率(%) | 0.3 | 1.56 |
アプリケーションが1分あたり300トランザクションで実行された際、エージェントは合計メモリ使用量の平均1.26%を消費しました。
以下のタイムラインチャートは、過去の傾向を表示しています。
1分あたり600トランザクション:
メモリ使用量 | エージェントなし | エージェントあり |
---|---|---|
平均使用率(%) | 0.31 | 4.26 |
アプリケーションが1分あたり600トランザクションで実行された際、エージェントは合計メモリ使用量の平均3.95%を消費しました。
以下のタイムラインチャートは、過去の傾向を表示しています。