Bonfire enqueues each indexable object to Meilisearch as a single-document HTTP PUT, synchronously, in the publish/delete Epic. Meilisearch (LMDB-backed) performs one full write transaction per task, so every single-doc submission costs roughly the same as a 100-doc batch would. In production this sustains ~12 single-doc commits/second on the prod_closed index (2.4M docs, fed largely by federation), consuming ~200% CPU and ~1.5 TB of cumulative disk writes on the search container. The host shows load average 6+ while CPU is 80% idle — classic bursty-contention symptom caused by the search container starving neighbours for I/O and short CPU bursts.
The fix is to coalesce single-doc submissions into batched PUTs, fronted by a durable Oban queue so nothing is lost on a restart. Expected impact on the search container: roughly 50–100× reduction in CPU and disk writes for the same indexing throughput.