ELK,萌萌哒

ES并发查询

Elasticsearch | 作者 fredchen | 发布于2017年08月01日 | 阅读数:11656

版本:5.1.1  , 一共4个节点,其中3个节点:master和data都为true,剩下的一个为false,每个节点分片了8G,3个分片,1个副本,总共文档也就3w多条,单线程访问很快,但是我开了1000个线程跑的情况下,开始会很快,后来就越来越慢达到5s多,甚至更慢。
 
具体DSL:
GET /shop_index/_search
{
  "from" : 0,
  "size" : 10,
  "query" : {
    "bool" : {
      "filter" : [
        {
          "term" : {
            "shopStatus" : {
              "value" : 2,
              "boost" : 1.0
            }
          }
        },
        {
          "term" : {
            "cityId" : {
              "value" : "1930",
              "boost" : 1.0
            }
          }
        }
      ],
      "must_not" : [
        {
          "term" : {
            "id" : {
              "value" : 10556,
              "boost" : 1.0
            }
          }
        }
      ],
      "disable_coord" : false,
      "adjust_pure_negative" : true,
      "boost" : 1.0
    }
  },
  "ext" : { }
}
 
请问下我该怎么优化查询
QQ图片20170801150325.png QQ图片20170801150501.png QQ图片20170802093401.png
已邀请:

Jea - 一只猿

赞同来自:

看一下你的tcp配置, 连接数, jvm进程池 io等参数, 查询时的, 

Ricky_Lau - 码农,,

赞同来自:

看下是不是客户端一直在GC

fredchen

赞同来自:

找到原因了:并发太高CPU撑不住了

hahahaw - 90后IT男

赞同来自:

请问一下单个es节点能扛住100并发的查询吗?我这也有类似的问题压测时候cpu过高

weizijun - elasticsearch fan

赞同来自:

es的search queue堆积了吧?GET _cat/thread_pool?v看看

要回复问题请先登录注册