【问题标题】:Jumps of Refresh Time on Elasticsearch ClusterElasticsearch 集群刷新时间的跳跃
【发布时间】:2018-03-29 19:32:19
【问题描述】:

我正在尝试解决 API 调用日志记录服务的刷新时间偶尔出现的峰值。 几乎所有对服务器的请求都是带有 refresh_interval -1 的索引/更新对。 _refresh 每分钟从 cronjob 调用一次,但峰值每小时仅发生 1-4 次。尖峰通常为 6-8 秒。

Translog 持久性设置为异步。 index.memory.index_buffer_size: 50%

或者这只是完全正常的?我没有比较,我所有的其他项目都没有索引那么多记录。 平均每天有 170,000 个索引操作。 我没有使用批量索引,在这种情况下是不可能的。

感谢您的所有建议! 马辛

【问题讨论】:

  • 您是否批量索引并在索引时刷新索引?
  • 亲爱的 Christophe, 简而言之:我在索引时刷新。谢谢你,马辛
  • 为了提高性能,通常最好在索引关闭时批量导入。 elastic.co/guide/en/elasticsearch/reference/current/… 和 elastic.co/guide/en/elasticsearch/reference/current/…
  • 为什么不能进行批量索引?
  • 我使用 ES 记录对外部 API 的请求/响应。每个 HTTP 请求包括:1. 外部 API 调用之前的索引调用,2. 收到响应的更新调用。这一切都必须在单个 http 请求中工作。这对 ES 来说并不是一个完美的案例。

标签: elasticsearch


【解决方案1】:

【讨论】:

  • 谢谢,但除了批量索引之外,我已经实现了所有技巧。我想知道为什么刷新有时需要 1s 有时需要 8s?
  • 您是否看到并实施了其他技巧?
  • 亲爱的 Christophe,是的 - 在我创建这个线程之前。我还研究了许多关于加快索引的文章。我唯一无法实现的是批量索引。谢谢你,马辛
  • 在这种情况下,您可能会遇到一些硬件/性能问题。还要调整你的 JVM ......也许它与垃圾收集有关。
  • 您对 JVM 垃圾回收问题有什么建议吗?我在弹性论坛上提供了更多信息,如果您特别发现任何奇怪的东西,也许您可​​以查看监控:discuss.elastic.co/t/timeouts-when-indexing/124591 非常感谢!
猜你喜欢
  • 2021-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-04
  • 2013-10-15
  • 1970-01-01
相关资源
最近更新 更多