有时索引文档非常慢

时间:2016-07-18 10:28:41

标签: elasticsearch

今天,我发现我的es cluster索引文档非常缓慢且不稳定。

我添加了一些日志来计算调用bulk api

的时长
public void execute() throws Exception {
    logger.info("begin call es bulk api");
    long startTime=System.currentTimeMillis();
    try {
      BulkResponse bulkResponse = bulkRequestBuilder.execute().actionGet();
      if (bulkResponse.hasFailures()) {
        throw new EventDeliveryException(bulkResponse.buildFailureMessage());
      }
    } finally {
      bulkRequestBuilder = client.prepareBulk();
    }
    logger.info("end es bulk api,time:"+(System.currentTimeMillis() - startTime));
}

从日志中。 end es bulk api,time:100 end es bulk api,time:1121 end es bulk api,time:56785 end es bulk api,time:16201 end es bulk api,time:401 end es bulk api,time:87543 我发现es有时索引文档很慢。

我使用api curl 'localhost:9200/_cat/thread_poolv&h=id,host,bulk.size,bulk.active,bulk.rejected,bulk.completed,bulk.queueSize,bulk.queue'并找到active.bulkbuld.queue都少于2。

我使用命令topiotop找到cpu使用情况,而磁盘io都非常小。

如何找出问题所在? 谢谢

编辑:

示例文档: {"name":"name1","address":"address1"},所有文档都是这样的。

没有经过分析的字段。

以下是我的群集设置的一部分:

cluster.routing.allocation.same_shard.host: true
bootstrap.mlockall: true
discovery.zen.ping.unicast.hosts: ["ip1:9302","ip2:9304"]

总内存:15G 总节点数:3 每个节点有2个节点,1个主堆大小1g,1个datanode堆大小5g 批量:200

0 个答案:

没有答案