Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 如何使用急切的全局序号加快刷新速度_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch 如何使用急切的全局序号加快刷新速度,elasticsearch,elasticsearch" /> elasticsearch 如何使用急切的全局序号加快刷新速度,elasticsearch,elasticsearch" />

elasticsearch 如何使用急切的全局序号加快刷新速度

elasticsearch 如何使用急切的全局序号加快刷新速度,elasticsearch,elasticsearch,我有一个8节点集群(AWS上的8 r3.xlarge使用实例附带的短暂80GB SSD磁盘)。具有一个主索引和两个主索引类型。 它们之间存在父/子关系。有7500万父母和1500万孩子。(我们定期清理孩子,但保留父母) 为了加快has_子查询的速度,我在子字段的父字段上使用了渴望全局序号 使用急切的全局序号似乎会显著降低刷新时间。刷新现在最多需要3秒钟 我相信我可以通过增加机器上的IO来加速刷新。但是有没有其他设置可以让我加快刷新速度 我使用的是elasticsearch 1.4.2 请注意,当

我有一个8节点集群(AWS上的8 r3.xlarge使用实例附带的短暂80GB SSD磁盘)。具有一个主索引和两个主索引类型。 它们之间存在父/子关系。有7500万父母和1500万孩子。(我们定期清理孩子,但保留父母)

为了加快has_子查询的速度,我在子字段的父字段上使用了渴望全局序号

使用急切的全局序号似乎会显著降低刷新时间。刷新现在最多需要3秒钟

我相信我可以通过增加机器上的IO来加速刷新。但是有没有其他设置可以让我加快刷新速度

我使用的是elasticsearch 1.4.2

请注意,当我使用8 m3.xlarge和1 EBS容量时,刷新速度更快。(这没有意义,因为EBS卷的IOs应该比临时磁盘慢…)


谢谢

如果没有任何指标来指出争用可能在哪里,这是很棘手的。你是真的爱我吗?还是计算界?我常常发现我是后者。这可能是您通过比较两个四个核心实例类型得出的结论,但当您使用r3时,其他情况也可能发生变化

以下几点可能会有所帮助:

  • 删除合并限制,
    index.store.throttle.type:none
    。对于SSD,您不需要它,我们只是为了安全起见才将其打开,这样索引就不会占用一个盒子。您可以为每个索引设置它,但如果测试显示它有帮助,并且不会减慢搜索速度,则只需在每个节点的配置中,或者在创建索引时在应用程序中使用它即可

  • 如果您使用的是Linux,请确保将数据卷的IO调度程序设置为
    noop
    ,或至少设置为
    deadline
    。CFQ应该在使用SSD时进行DTRT,但我还没有发现这是真的。此外,在EC2上,您不需要具有虚拟化层的任何存储(理论上)的调度器。请记住,除非您看到写入速度始终保持在60mb/s左右,或者您的计算能力有限,否则这并不会产生真正的影响

  • 因为你没有在m3上使用急切加载,它实际上是苹果和桔子。这只是一种预感,但经济放缓可能有点连锁,细分市场正在堆积,只有在索引流量中断时才会恢复。您可以尝试将
    index.refresh\u interval
    增加到
    5s
    ,看看手动刷新是否会加快速度。这很容易用
    /\u cat/segments/INDEX | wc-l
    进行监控

  • 您可以尝试增加Lucene允许使用的线程数。在四个内核上,您可能没有太多的空间(需要那些CPU图),但您可以做一些测试并检查它
    index.merge.scheduler.max_thread_count:6
    (硬件上默认为4)