APM Insight Python 代理性能报表

性能报表可帮助您优化 APM Insight Python 代理,使其对应用程序性能的影响最小。

测试环境

操作系统:Ubuntu 20.04.1 LTS
CPU:6 核
内存:15.3GB
版本:Python 3.8.10
应用程序 框架:Django 4.0.4测试
时间  两个小时

对应用程序响应时间的影响

四个示例 Python 应用程序实例在使用和不使用 APM Insight Python 代理的情况下分别以每分钟 300 和 600 个事务运行。数据是在两个小时内收集的,结果总结如下。

每分钟 300 笔事务:

响应时间摘要
无代理
有代理
平均响应时间 (ms) 18852 19274
峰值响应时间 (ms) 23406 24106

使用和不使用 APM Insight Python 代理运行应用程序时观察到的平均时间差约为 2.22%。

下面的时间线图解释了历史趋势:

显示对应用程序响应时间的影响的时间线图

每分钟 600 笔事务:

响应时间摘要
无代理
有代理
平均响应时间 (ms) 37620 38777
峰值响应时间 (ms) 47792 48413

使用和不使用 APM Insight Python 代理运行应用程序时观察到的平均时间差约为 3.05%。

下面的时间线图解释了历史趋势:

显示对应用程序响应时间的影响的时间线图

对 CPU 使用率的影响

APM Insight Python 代理的 CPU 消耗主要取决于检测的方法数量和日志级别(默认为 DEBUG)。

下面显示的数据是使用和不使用 APM Insight Python 代理并行运行的应用程序的数据汇编。

每分钟 300 笔事务:

CPU使用率
无代理
有代理 
 平均使用率 (%)  0.49  0.7

当应用程序以每分钟 300 个事务运行时,代理平均消耗了总 CPU 使用率的 0.21%。

下面的时间线图解释了历史趋势:

显示对 CPU 使用率影响的时间线图

每分钟 600 笔事务:

CPU使用率
无代理
有代理 
 平均使用率 (%)  1.53  2.51

当应用程序以每分钟 600 个事务运行时,代理平均消耗了总 CPU 使用率的 0.98%。

下面的时间线图解释了历史趋势:

显示对 CPU 使用率影响的时间线图

CPU 消耗的代理负载在操作系统版本 Ubuntu 20.04.1 LTS 上进行了测试,
并且从APM Insight Python 代理版本 1.0.3开始生效。

对物理内存 (RAM) 使用的影响

默认情况下,APM Insight Python 代理每分钟都会收集性能数据并将其推送到自己的服务中,因此用户内存占用的空间很小,而且只是暂时的。这里要注意的重要事实是内存消耗与一分钟内收集的数据量成正比,因此降低采样因子或事务跟踪阈值会导致 RAM 使用量增加。

下面显示的数据是使用和不使用代理并行运行的应用程序的数据汇编。

每分钟 300 笔事务:

内存使用情况
无代理
有代理 
 平均使用率 (%)  0.3  1.56

当应用程序以每分钟 300 个事务运行时,代理平均消耗了总内存使用量的 1.26%。

下面的时间线图解释了历史趋势:

时间线图显示对内存消耗的影响

每分钟 600 笔事务:

内存使用情况
无代理
有代理 
 平均使用率 (%)  0.31  4.26

当应用程序以每分钟 600 个事务运行时,代理平均消耗了总内存使用量的 3.95%。

下面的时间线图解释了历史趋势:

时间线图显示对内存消耗的影响