你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Monitor 代理性能基准

在网关事件转发方案中,代理每秒可以处理数千个事件。 确切的吞吐量速率取决于各种因素,例如每个事件的大小、特定数据类型和物理硬件资源。 本文介绍用于测试转发器方案中 1 万个 Syslog 事件代理吞吐量的 Microsoft 内部基准。 基准结果应提供可用于调整环境中所需资源大小的指南。

注意

本文的结果仅提供有关 AMA 在转发方案中性能的信息,并不构成 Microsoft 方面的任何服务协议。

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

  • Linux AMA 的目标应该是实现 10000 EPS。 存在 20000 EPS 警告,但这并不意味着出现数据丢失。 AMA 不保证无丢失连接。 然而,当 EPS 超过 10000 时,丢失的可能性较大。
  • 转发器应位于专用系统上,以消除来自其他工作负载的潜在干扰。
  • 应监视转发器系统的 CPU、内存和磁盘利用率,以防止重载导致数据丢失。
  • 如果可能,可使用负载均衡器和冗余转发器系统来提高可靠性和可伸缩性。 有关转发器的其他注意事项,请参阅 Log Analytics 网关文档。

代理性能

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

注意

结果不会度量 Log Analytics 工作区(或其他遥测接收器)引入的端到端吞吐量,因为网络和后端管道性能可能会导致端到端的可变性。

基准测试在 Azure VM Standard_F8s_v2 系统上运行,该系统使用 AMA Linux 版本 1.25.2 和 10 GB 用于事件缓存的磁盘空间。

  • vCPU:8 个,带超线程(可能达到 800% 的 CPU 利用率)
  • 内存:16 GiB
  • 临时存储:64 GiB
  • 最大磁盘 IOPS:6400
  • 网络:所有 4 个物理 NIC 均最大支持 12500 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 使用多少网络带宽?

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

后续步骤