如何提高Elasticsearch 5.6.7的写入性能

时间:2019-02-28 13:22:11

标签: elasticsearch elasticsearch-5

我正在尝试对热暖结构化Elasticsearch集群进行基准测试。我做了很多测试。我遵循了很多事情。我认为,我的指数率仍然不可接受。

在我的集群中,我有13台具有SSD的热服务器,其中3台具有NVMe。比较好的CPU。和3台温暖的服务器。在我的测试中,我最多可以摄取250k的主要分片,总共可以获取500k的分片。由于我使用1个copyton计数。

对我来说,这意味着每台服务器插入38k文档,由于我使用1个副本计数,因此每台服务器意味着19k文档。对于这样的基本键值模型,索引速率对我来说太慢了。当我看到我无法对我的真实模型进行基准测试时。

有什么建议吗?

我遵循了以下建议

  • bootstrap.memory_lock:是
  • thread_pool.bulk.queue_size:100000(最初是200,然后我测试了20000。现在是100000)
  • thread_pool.index.queue_size:100000(开始时为200)
  • 基本键值模型。 1个副本,刷新间隔增加,碎片计数高或低。禁用的_source和_all字段。我的模特在下面。自动生成的ID。
  • 我使用批量处理器提取数据。我在客户端测试了更改文档数和并发性。我使用了多个功能强大的服务器来提取数据。我的客户有热服务器IP来摄取数据,而不是热服务器。

    {     “ template”:“ test01 *”,     “设置”:{       “索引”:{         “路由”:{           “分配”:{             “要求”:{               “ box_type”:“热门”             }           }         },         “ refresh_interval”:“ 600s”,         “ number_of_shards”:“ 26”,         “ number_of_replicas”:“ 1”       }     },     “映射”:{       “ test01”:{         “_资源”: {           “已启用”:false         },         “ _all”:{           “已启用”:false         },         “动态”:错误,         “属性”:{           “ rt”:{             “ type”:“关键字”           },           “骗子”:{             “ type”:“ float”           }         }       }     } }

1 个答案:

答案 0 :(得分:0)

一点建议,索引设置应添加index.routing.allocation.total_shards_per_node,以控制索引碎片在节点之间的平均分布。