Elasticsearch - Physical size of a bulk request

时间:2017-10-24 17:28:55

标签: elasticsearch

We use BULK api to index multiple docs. We try to control the batch size through various parameters indirectly. But I wanted to know if there is any clean and recommended way to get the physical size of the batch prepared before sending the BULK index request to ES.

Note:Language - C# using NEST

1 个答案:

答案 0 :(得分:0)

TLDR

  • 整个批量查询应该加载到RAM中
  • 在某些尺寸表现不再提高后
  • 不同的硬件是不同的 - 试验找到你的尺寸

https://www.elastic.co/guide/en/elasticsearch/guide/current/bulk.html

  

整个批量请求需要由节点加载到内存中   收到我们的请求,所以请求越大,内存越少   可用于其他请求。有一个最佳的批量大小   请求。超过这个尺寸,性能不再提高甚至可能   放下。然而,最佳尺寸不是固定数量。这取决于   完全取决于您的硬件,文档大小和复杂性,以及您的   索引和搜索负载。

     

幸运的是,很容易找到这个最佳点:尝试索引典型   批量增加的文件。当表演开始时   放下,你的批量太大了。一个好的起点是   批量1,000到5,000份文件,或者,如果您的文件非常好   大,甚至更小的批次。

     

密切关注散装物理尺寸通常很有用   要求。一千个1KB的文件与一个非常不同   千元1MB文件。一个很好的体积大小开始玩   大小约为5-15MB。