我们使用的群集总数为5 nodes (3 master 2 data) setting
。
我们计划索引最大100 MB的文档。
我们希望大约可以达到此大小约50K rpm,并提供相应的搜索功能。
具有此结构的单个文档
{
name: "abc",
id : "1",
elements:[
{
id:"1",
value: " Some long text .... assume 2000 chars"
},
....
....
..10K elements...
...
]
}
假设其中一个此类文档的大小约为~100 MB
。
我们计划将此类文档索引成百万。
尝试使用动态映射为此类文档编制索引需要花费~20 sec
和shards =50 and replication = 0
。
我们启用了gzip压缩功能,并且也希望将其扩展到更多副本。
提及设置
在集群上,我们有"heap_max": "69gb", "heap_used": "21.3gb",
在节点上,我们有"heap_committed": "17.4gb","heap_used": "5gb",
也禁用了交换功能,我们使用SSD。
与此同时,我们使用refresh_interval进行了长达3秒的播放。这可以带来改善,但是我们不能超过2秒。
是否有任何索引编号可以思考ES摄取此类有效载荷所需的时间?
对于如此巨大的有效负载,是否有建议的优化方法。
我们已经查看-https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-indexing-speed.html
注意:我们计划使用嵌套以便提供搜索功能。这些数字低于上述数字。上面的情况应该是最好的情况,因为我们正在使用最简单的映射。
PS:当前为Es V2.4.1(我们即将升级)