APM Insight .NET Agent 性能报告
测试环境
● 操作系统:Windows 2012 R2
● CPU:单核,共享
● 内存:1.75 GB
● IIS 版本:8.5
● 版本:.NET 4.0
● 测试持续时间:2 小时
● 每分钟平均请求数:500
对应用响应时间的影响
APM Insight .NET Agent 默认仅对框架方法进行插桩,因此对响应时间的开销极小。平均而言,由 Agent 导致的响应时间变化约为 30 毫秒。峰值响应时间期间的响应时间变化约为 500 毫秒。具体数据汇总如下。
|
响应时间摘要 |
无 Agent |
有 Agent |
|
平均响应时间(毫秒) |
4820.85 |
4853.21 |
|
峰值响应时间(毫秒) |
14465 |
15079 |
以下时间线图表说明了历史趋势。

对 CPU 使用率的影响
在默认生产设置下,APM Insight .NET Agent 平均不会消耗超过 5%~10% 的 CPU(使用默认生产设置)。CPU 使用量主要取决于已插桩的方法数量(通过自定义插桩)和日志级别(默认为 CRITICAL)。最大消耗发生在应用程序启动或域创建期间,因为此时涉及初始化分析器和加载 .NET Agent 的库。初始化完成后,.NET Agent 带来的平均额外开销约为 5%,加上 Web 应用程序正常的 CPU 使用量。
|
CPU 使用率 |
无 Agent |
有 Agent |
|
平均使用率(%) |
48.39 |
53.54 |

Agent 对 CPU 消耗的影响已在操作系统版本 Windows Server 2016 上进行测试,自 APM Insight .NET Agent 版本 5.3 起生效。
对物理内存(RAM)使用的影响
APM Insight .NET Agent 默认每分钟收集一次性能数据并推送到其自身服务,因此对用户内存的占用极小且仅为临时性的。值得注意的是,内存消耗与每分钟收集的数据量成正比,因此降低采样因子或事务跟踪阈值会导致 RAM 使用量增加。然而,在默认生产设置下(采样因子=5,跟踪阈值=2 秒,SQL 跟踪阈值=3 秒),即使在峰值负载下,内存也不会超过 90 MB。以下表格汇总了详细数据。
|
内存使用量 |
无 Agent |
有 Agent |
|
平均工作集(MB) |
228.11 |
292.56 |
|
峰值工作集(MB) |
314.81 |
390.62 |

对网络使用的影响
APM Insight .NET Agent 每分钟收集一次数据并发送到 Site24x7 服务器。收集的数据通过 2 个请求发送,分别为:
i. arh/data - 用于 Apdex 和响应时间指标。该请求的最大大小约为 40 KB。
ii. arh/trace - 用于调用栈跟踪和异常指标。该请求的最大大小约为 4 MB。
值得注意的是,发送的数据量取决于 1 分钟内发生的唯一 Web 事务和错误数量,最多 250 个事务。在每分钟平均 500 个请求、Apdex 为 0.975 且平均错误率为 2% 的情况下,平均网络使用量约为每分钟 800 KB。
支持的环境
所有 APM Insight .NET Agent 均支持以下环境:
1. Windows Server 2003 及以上版本
2. IIS 6.0 及以上版本
3. .NET 2.0 及以上版本
