Elasticsearch无法在不显着降低性能的情况下处理多个请求

时间:2018-01-17 18:58:06

标签: performance elasticsearch timeout elastic-cloud

我在ElasticCloud中托管了一个双节点集群。

Host     Elastic Cloud
Platform Google Cloud
Region   US Central 1 (Iowa)
Memory   8 GB
Storage  192 GB
SSD      Yes
HA       Yes

每个节点都有:

Allocated Processors    2
Number of processors    2
Number of indices       4*
Shards (p/ index)       5*
Number of replicas      1
Number of document      150M
Allocated Disk          150GB

*主要指数,kibana和观察者创造了一堆小指数。

我的文件主要是文字。还有一些其他字段(每个索引不超过5个),没有嵌套对象。指数规格:

| Index   | Avg Doc Length | # Docs | Disk |
|---------|----------------|--------|------|
| index-1 | 300            | 80M    | 70GB |
| index-2 | 500            | 5M     | 5GB  |
| index-3 | 3000           | 2M     | 10GB |
| index-4 | 2500           | 18M    | 54GB |

当系统空闲时,响应时间(加载时间)通常为几秒钟。但是,当我模拟10个用户的行为时,我开始在我的应用程序中获得超时。最初超时是10秒,我更新到60秒,我仍然有问题。下面是使用Search Api模拟10个并发用户的图表。

enter image description here

红线是以秒为单位的总请求时间,粉红色虚线是我的60秒超时。所以,我会说大多数时候我的用户都会遇到超时。我使用的查询非常简单:

{
    "size": 500,
    "from": ${FROM},
    "query":{
        "query_string": {
            "query": "good OR bad"
        }
    }
}

我已经尝试了所有可能的调整,据我所知。我不知道这是否真的是ES性能,我必须接受它并升级我的计划。

0 个答案:

没有答案