日志采集器 性能 单核的能力如下: 极简模式日志最大处理能力为100 MB/s。 正则默认最大处理能力为20 MB/s(与正则表达式的复杂度有关)。 分隔符日志最大处理能力为40 MB/s。 JSON日志最大处理能力为30 MB/s。 可调整启动和资源限制参数来提升性能。 推荐参数值 主机环境 参数 默认的采集速率 采集速率大于5 MB/s 采集速率大于10 MB/s 采集速率大于20 MB/s 采集速率大于40 MB/s cpuusagelimit 0.4 1 2 2 4 memusagelimit 384 1024 1024 2048 4096 processthreadcount 1 2 2 4 8 sendrequestconcurrency 4 4 20 40 80 资源限额参数需要修改 /etc/systemd/system/lmtagent.service 中如下部分: plaintext MemoryMax384M MemoryAccountingyes MemoryLimit384M MemoryHigh384M CPUQuota50% 启动参数需要修改 /app/cams/lmtagent/config.json 中如下部分: plaintext "processthreadcount": 4, "sendrequestconcurrency": 4, 最后通过如下命令重启采集器生效 plaintext sudo systemctl daemonreload && sudo systemctl restart lmtagent 容器或Kubernetes环境 环境变量 默认的采集速率 采集速率大于5 MB/s 采集速率大于10 MB/s 采集速率大于20 MB/s 采集速率大于40 MB/s cpuusagelimit 1 2 3 4 10 memusagelimit 1024 2048 2048 4096 4096 processthreadcount 2 2 2 4 8 sendrequestconcurrency 4 4 20 40 80 resources.limits.cpu 1000M 2000M 3000M 4000M 10000M resources.limits.memory 1 Gi 2 Gi 2 Gi 4 Gi 4 Gi 需要到云容器引擎CCE控制台插件插件实例 选择 ctglogoperator 选择更新,修改如下配置: plaintext procesThreadCount: 2 resources: limit: cpu: "1000m" memory: "1000Mi" request: cpu: "10m" memory: "200Mi" selfMonitor: cpuUsageLimit: 10 memUsageLimit: 1024 sendRequestConcurrency: 4 其中 resources.limit 为Kubernetes 资源限制,selfMonitor 为采集器内部资源监控,默认配置中两处基本一致; 如果希望优先使用Kubernetes 资源限制,可以把selfMonitor调整比resources.limit大 如果希望优先使用采集器内部资源管控,可以把selfMonitor调整比resources.limit小 注意 resources.limit.memory 超限会触发Kubernetes资源管控导致lmtagent强制重启,此时数据可能会丢失或重复; 占用相关资源超过selfMonitor最大限制的时间5分钟,则lmtagent会强制重启,此时数据可能会丢失或重复。 如果下发的采集配置多或者采集目标文件非常多,请调高内存上限,使其高于上面表格中的推荐值。 如果下发的采集配置中有很多JSON或者正则解析处理插件,请调高CPU上限,使其高于上面表格中的推荐值。