我相信应该有一个公式来计算ElasticSearch中的批量索引大小。可能以下是这种公式的变量。节点的ElasticSearch中理想的批量大小公式是什么?
- 数
- 碎片/索引的编号
- 文档大小
- RAM
- 磁盘写入速度
- LAN速度
我不知道是否有人知道或使用一个数学公式。如果不是,人们如何决定他们的体积大小?通过试验和错误?
我相信应该有一个公式来计算ElasticSearch中的批量索引大小。可能以下是这种公式的变量。节点的ElasticSearch中理想的批量大小公式是什么?
我不知道是否有人知道或使用一个数学公式。如果不是,人们如何决定他们的体积大小?通过试验和错误?
对此没有金科玉律。从文档中提取:
在单个批量调用中没有执行“正确”的操作次数。您应该尝试不同的设置以找到适合您特定工作负载的最佳尺寸。
我从Java API的BulkProcessor类派生了这个信息。它默认为1000个动作或5MB,它也允许你设置一个刷新间隔,但这并不是默认设置的。我只是使用默认设置。
如果您使用Java API,我建议使用BulkProcessor。
我正在寻找它,我发现你的问题:) 我发现这在弹性documentation ..所以我会调查我的文件的大小。
通常有必要关注批量请求的物理大小。一千个1KB文档与一千个1MB文档非常不同。一个很好的批量大小,开始在大小摆弄围绕5-15MB
读 ES 散装API文档小心:https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-performance.html#_using_and_sizing_bulk_requests
最终,人们需要调整。但是有什么数量级的想法吗?我们在说10s/100s/1000s吗?任何启动建议去? –
我通常使用1K和5K文档之间的批量大小。 – moliware