你当前正在访问 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 使用多少网络带宽?
带宽是已发送数据量的一个函数。 数据通过网络发送时会被压缩。
后续步骤
- 在 Azure Monitor 中使用 Log Analytics 网关连接无法访问 Internet 的计算机
- 在 Windows 和 Linux 虚拟机上安装 Azure Monitor 代理。
- 创建数据收集规则,通过代理收集数据并将其发送给 Azure Monitor。