Azure Monitor 代理性能基准

在网关事件转发方案中,Azure Monitor 代理每秒可以处理数千个事件。 确切的吞吐量速率取决于各种因素,例如每个事件的大小、特定数据类型和物理硬件资源。

本文介绍用于在网关转发场景中测试代理的吞吐量的 Azure 内部基准,该基准用于处理 10,000(10K)syslog 事件。 基准结果应提供可用于调整环境中所需资源大小的指南。

注释

本文中的结果仅与网关转发方案中 Azure Monitor 代理的性能相关。 本文中的结果和信息并不构成 Azure 的任何服务协议。

将代理用作转发器的最佳做法

  • Linux Azure Monitor 代理应达到 10,000 EPS。 可能会出现 20,000 EPS 警告,但这并不意味着数据丢失。 Azure Monitor 代理不保证无丢失连接。 当 EPS 超过 10,000 时,损失的可能性更大。
    • Azure Monitor 代理的目标是 5,000 事件/秒 (EPS)。 EPS 可能更高,但不会发生警告或节流。 此阈值是根据 Windows 事件服务中的 5,000 EPS 限制设置的。
  • 转发器应位于专用系统上,以消除来自其他工作负载的潜在干扰。
  • 应监视转发器系统的 CPU、内存和磁盘利用率,以防止重载导致数据丢失。
  • 如果可能,可使用负载均衡器和冗余转发器系统来提高可靠性和可伸缩性。 有关转发器的其他注意事项,请参阅 Log Analytics 网关文档。

代理性能

基准在受控环境中运行,可获取可重复、准确且具有统计学意义的结果。 代理消耗的资源是在每秒 10,000 个模拟 Syslog 事件的负载下测量的。 模拟负载运行在受测代理所在的同一物理硬件上。 测试试用版运行七天。 对于每个试用版,将对性能指标每秒采样一次,以收集 CPU、内存以及网络最大和平均使用量。 此方法可提供正确的信息来帮助估计环境所需的资源。

注释

性能测试结果不会测量 Log Analytics 工作区(或其他遥测接收器)引入的端到端吞吐量。 由于网络和后端管道性能,可能会出现端到端可变性。

基准测试在 Azure 虚拟机Standard_F8s_v2系统上运行。 它使用 Azure Monitor Agent Linux 版本 1.25.2,并用 10 GB 的磁盘空间来存储事件缓存。

  • vCPU:8 个,带超线程(可能达到 800% 的 CPU 利用率)
  • 内存:16 GiB
  • 临时存储:64 GiB
  • 每秒最大磁盘输入/输出作数:6,400
  • 网络:最大 12,500 Mbps,适用于所有四个物理网络接口卡。

结果

性能指标 平均(最大)Med
CPU % 51 (262)
内存 RSS MB 276 (1,017)
网络 KBps 338 (18,033)

常见问题解答

获取常见问题的答案。

每个代理发送多少数据?

每个代理发送的数据量取决于:

  • 已启用的解决方案
  • 所收集的日志和性能计数器的数量
  • 日志中的数据量

有关详细信息,请参阅分析 Log Analytics 工作区中的使用情况

对于能够运行 WireData 代理的计算机,可以使用以下查询了解发送的数据量:

WireData
| where ProcessName == "C:\\Program Files\\Microsoft Monitoring Agent\\Agent\\MonitoringHost.exe"
| where Direction == "Outbound"
| summarize sum(TotalBytes) by Computer 

将数据发送到 Azure Monitor 时,Microsoft Monitoring Agent 使用多少网络带宽?

带宽是发送的数据量函数。 通过网络发送数据时会压缩数据。