ヘルプ APM Python APM パフォーマンスレポート

APMインサイト Pythonエージェントパフォーマンスレポート

アプリケーションのパフォーマンスに影響の少ないAPMインサイト Pythonエージェントを最適化します。

テスト環境

OS:Ubuntu 20.04.1 LTS
CPU:6-コア
メモリ:15.3GB
バージョン:Python 3.8.10
アプリケーションフレームワーク: Django 4.0.4
テスト期間:2時間

アプリケーションの応答時間の影響

1分間に300と600のトランザクションを実行する4つPythonアプリケーションをAPMインサイト Pythonエージェントインストールありとなしで比較をしました。

1分に300トランザクション:

応答時間サマリー
エージェントなし
エージェントあり
平均応答時間(ミリ秒) 18852 19274
最大応答時間(ミリ秒) 23406 24106

エージェントありとなしでアプリケーション実行の平均時間の差は2.22%でした。

次のタイムライングラフでは階層的なトレンドを示しています。

1分に600トランザクション

応答時間サマリー
エージェントなし
エージェントあり
平均応答時間(ミリ秒) 37620 38777
最大応答時間(ミリ秒) 47792 48413

エージェントありとなしでアプリケーション実行の平均時間の差は3.05%でした。

次のタイムライングラフでは階層的なトレンドを示しています。

CPU使用量の影響

APMインサイト PythonエージェントによるCPU消費は、構成されているメソッド数とログレベル(デフォルトはデバッグ)に左右されます。

APMインサイト Pythonエージェントありとなしで、実行したアプリケーションの比較データは次のとおりです。

1分に300トランザクション:

CPU使用量 usage
エージェントなし
エージェントあり
平均使用量 (%) 0.49 0.7

1分に300トランザクションを実行しているアプリケーションの場合、0.21%のCPU使用量を平均して消費しています。

次のタイムライングラフでは階層的なトレンドを示しています。

1分に600トランザクション

CPU使用量
エージェントなし
エージェントあり
平均使用量 (%) 1.53 2.51

1分に600トランザクションを実行しているアプリケーションの場合、0.98%のCPU使用量を平均して消費しています。

次のタイムライングラフでは階層的なトレンドを示しています。

CPU消費のエージェントのロードは、OSバージョン Ubuntu 20.04.1 LTSでテストしており、
これは、APMインサイト Pythonエージェントバージョン1.0.3より利用できます。

物理メモリ (RAM)使用量の影響 usage

デフォルトで、APMインサイト Pythonエージェントは1分ごとにパフォーマンスデータを収集し、自信のサービスにプッシュします。そのため、ユーザーメモリのフットプリントは最少であり、一時的なものです。メモリ消費は1分ごとの収集データ量に、直接かかわっています。そのため、サンプリングファクターやトランザクショントレースのしきい値を下げることでRAM使用量が増加します。

APMインサイト Pythonエージェントありとなしで、実行したアプリケーションの比較データは次のとおりです。

1分に300トランザクション:

メモリ使用量
エージェントなし
エージェントあり
平均使用量 (%) 0.3 1.56

1分に300トランザクションを実行しているアプリケーションの場合、1.26のメモリ使用量を平均して消費しています。

次のタイムライングラフでは階層的なトレンドを示しています。

1分に600トランザクション

メモリ使用量
エージェントなし
エージェントあり
平均使用量 (%) 0.31 4.26

1分に600トランザクションを実行しているアプリケーションの場合、3.95のメモリ使用量を平均して消費しています。

次のタイムライングラフでは階層的なトレンドを示しています。