Elasticsearch bulk aggregation proxy to reduce small writes and improve indexing efficiency
2.0K
A lightweight, transparent Elasticsearch proxy that aggregates small _bulk requests into larger batches to improve indexing performance and reduce disk I/O.
es-bulk-proxy sits between your data source (e.g., Zenarmor, log shippers) and Elasticsearch. It buffers incoming _bulk requests in memory and periodically flushes them as larger batches, significantly reducing write amplification and improving overall cluster efficiency.
At the same time, it behaves as a fully compatible Elasticsearch proxy, forwarding all non-bulk requests (search, mappings, health checks, etc.) directly without modification.
_bulk request aggregationClient (Zenarmor, etc)
â
es-bulk-proxy
â
Elasticsearch
Configured via environment variables:
ES_URL â Elasticsearch endpoint (required)FLUSH_INTERVAL â Batch flush interval (default: 3s)MAX_BATCH_SIZE â Max batch size (default: 5MB)MAX_BUFFER_SIZE â Max buffer size (default: 50MB)docker run -d \
-p 8080:8080 \
-e ES_URL=http://localhost:9200 \
ssingh3339/es-bulk-proxy
Built for efficient and scalable Elasticsearch ingestion pipelines.
Content type
Image
Digest
sha256:09c268626âĶ
Size
5.9 MB
Last updated
3 months ago
docker pull ssingh3339/es-bulk-proxy