非常难以让Elasticsearch保持批量索引吞吐量上升。此时我试图最大化我的目标框(24核,64GB RAM,ES分配32GB堆,我的目标索引为mmap存储,刷新间隔设置为-1)。我正在使用BulkProcessor API来并行化写入。我正在使用静态JSON文档测试~2KB。
无论我在分片(5,8,10 - 没有区别)上做什么,或者在setBulkSize,setFlushInterval,setConcurrentRequests上,吞吐量在60,000个文档之后停顿。我将批量队列大小增加到1000,并且当我监视/ _cat / thread_pool时,我看到24个bulk.active(我的核心数)和bulk.queue在210左右徘徊。但我的盒子有大量的备用容量 - 堆使用保持在5%左右,RAM使用率保持在25%。磁盘,CPU和网络在目标盒上基本上是空闲的。
有人可以提出可能的原因和纠正措施吗?非常感谢。