【问题标题】:'output.elasticsearch.bulk_max_size': has to be a number between [100, 5000] inclusive'output.elasticsearch.bulk_max_size':必须是 [100, 5000] 之间的数字(含)
【发布时间】:2020-07-15 06:28:22
【问题描述】:

apm-server.yml 中更改 APM 配置时出现以下错误 -

'output.elasticsearch.bulk_max_size':必须是 [100, 5000] 包括

我正在更改配置以增加 APM 队列的大小,以便它可以处理超过 30K 的事件。 以下是我所做的配置更改 -

output.elasticsearch:
    worker: 4
    bulk_max_size: 10000
queue.mem.events: 40000

我无法理解此错误的原因。 参考 - https://www.elastic.co/guide/en/apm/server/master/tune-apm-server.html#adjust-queue-size

注意 - Opster Elasticsearch Ninja's 给出的答案部分解决了该问题。 但是 - 问题还没有完全解决。但是在他建议增加节点并将 bulk_max_size 保持为 5000 之后,我得到的这个错误要少得多(上周 2 次)。但我仍在研究这个问题的一些定量答案。像 X node、W worker、B bulk_max_size 和 S queue.mem.events 这样的东西将为我们提供每分钟或一次最多处理 N 个事件的能力。例如 - 最后的错误之一是 1 分钟内的事件达到 90-100K 左右,所以我仍在研究。

【问题讨论】:

  • 这个问题还没有完全解决。但是在您建议增加节点并将 bulk_max_size 保持为 5000 之后,我得到的这个错误要少得多(上周 2 次)。将答案标记为已接受。但我仍在为这个问题寻找一些定量的答案。像 X 节点和 W worker 和 B bulk_max_size 和 S queue.mem.events 将为我们提供每分钟或一次最多处理 N 个事件的能力。例如 - 最后一个错误之一是 1 分钟内的事件达到 90-100K 左右,所以我仍在研究。但是感谢@OpsterElasticsearchNinja
  • 非常感谢,很高兴它显着减少了警报,我还建议使用我们的检查工具checkups.opster.com/checkup,它可以建议更多设置进行微调,它的答案只是被赞成而不被接受,所以会如果您能接受评论中提到的答案,那就太好了:p,在此先感谢

标签: elasticsearch apm


【解决方案1】:

错误消息很清楚,当你给 10K 赋值时,你不能让它超过 5k,你可以尝试限制范围并看到它有效吗?

请参考官方bulk_max_size文档,里面也提到了

将 bulk_max_size 设置为小于或等于 0 的值会禁用 批次拆分。当拆分被禁用时,队列决定 批处理中要包含的事件数。

将其设置为非常大的值的缺点

指定更大的批量大小可以通过降低 发送事件的开销。然而,大批量大小也可以增加 处理时间,这可能导致 API 错误,被杀死 连接,超时的发布请求,并最终降低 吞吐量。

【讨论】:

  • 是的,奥普斯特。我想知道5K限制的原因。因为我确定它可以设置为超过 5K,但在我的情况下,其他东西阻止了它的设置。 elastic.co/guide/en/apm/server/master/… 在此示例中,他们还要求尝试 5120。无论如何,谢谢。
  • @Rahul 用限制的理由更新了我的答案
  • 这不是一个原因,我认为这是一个建议。在我的情况下,elasticsearch 配置良好并经过适当调整,因此它可以处理请求。 APM CPU 使用率约为 20-30%。
  • @Rahul 还有你使用的是哪个版本,这在他们的文档部分看起来像是一个错误,你可以在他们的源代码中查看这个值吗?
  • 7.8.无论如何让我们假设限制是 5K 那么如何处理 30-35K 请求。 APM 开始给出 错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-10
  • 1970-01-01
  • 2019-11-12
  • 2019-02-01
  • 1970-01-01
  • 2015-08-07
  • 1970-01-01
相关资源
最近更新 更多