Merge Throttling Write Amplification
warningBackground segment merges consolidate small Lucene segments into larger ones, reducing file count but consuming I/O. Default throttling (20MB/s) prevents merge backlog from overwhelming cluster, but excessive throttling causes segment explosion and query performance degradation.
Monitor elasticsearch.primaries.merges.current staying consistently > 0 with increasing elasticsearch_index_stats_merge_stopped_time_seconds. When elasticsearch.index.segments.count grows significantly with rising elasticsearch.merges.total.size, merge backlog is building. Check index_stats_merge_throttle_time_seconds for confirmation.
If on SSDs with high throughput, increase index.merge.scheduler.max_thread_count from default 1 to min(3, cpu_cores/2) and indices.store.throttle.max_bytes_per_sec from 20mb. Use index.merge.policy.segments_per_tier to control merge aggressiveness. Monitor elasticsearch_filesystem_io_stats_device_write_size_kilobytes to ensure disk can handle increased write load. For write-heavy workloads, prefer fewer larger shards over many small ones.