不为失败找理由,要为成功找方法。

es节点不均衡拖累整体index速度的问题

Elasticsearch | 作者 taoyang987 | 发布于2021年02月20日 | 阅读数:1420

  发现集群index比以前低很多。常规的排查都找不到原因。最后注意到有一个节点load很高,cpu利用率不高,但是iowati有点高,io不搞。没搞明白原因,最后无奈准备把这台节点下线。当重新设置之后,新的数据不往这个节点上写入后,集群index性能直接提升一倍。
  我表示十分震惊,为啥一个处理能力很弱的节点会严重拖累整个集群的index性能呢?(看过该节点和master节点日志,没有异常)。如果一个节点处理能力弱,es应该会减少往这个节点上的分片写入的数据量的吧?那样的话,他就不会拖累整体速度。
  因为条件所限,我的es集群中各种节点的性能相差能到1倍,所以我很担心,会不会性能差的那部分严重
  查了下,发现同一index每个shard数据量是差不多的,那么的话,就是说性能快的那部分要等慢的?
es6.8.13
已邀请:

pzw9696

赞同来自:

写和查都会有长尾效应,es写数据会不会往这个节上的分片上写数据取决于你的数据的routing结果(默认是_id)。

FFFrp

赞同来自:

这个节点的磁盘有没有问题

zmc - ES PAAS、JuiceFS

赞同来自:

1.一个节点性能差是会影响到分片分到该节点的index的,因为ES特性是分布式,一个客户端请求打进来,如果刚好到这个性能差的节点,那它不止要查询这个节点内该索引的分片,还需要作为coordinate节点处理query过来的数据以及最终fetch的结果,这样肯定影响大了;另一种更高频的case,请求到其他高性能节点,这样的话只有query这一个环节会受到低性能节点的影响,尽管如此对整体还是有很大影响。
 
2.上面说的是通用的场景,还需要考虑到这个节点的异常到底是什么,会不会导致超时,IO高或者线程池堆积,让所有的结果等待,这些就得特定场景分析了

要回复问题请先登录注册