Batching improves ingestion throughput
Each network request has fixed overhead: connection handling, serialization, request parsing, acknowledgement, and scheduling. Sending one point per request repeats that overhead millions of times.
Batching amortizes those costs across many points and gives Qdrant a larger unit of work for indexing and storage. This generally improves ingestion throughput and reduces application-side request overhead.
The trade-off is batch size. Very large batches can increase memory usage, request payload size, retry cost, and latency for individual failures. I would choose a starting size based on payload size and then benchmark throughput, CPU, memory, and tail latency.
A common mistake is assuming the largest possible batch is always fastest. Once batches become large enough, serialization, network limits, indexing contention, or memory pressure can dominate. The correct size is workload-dependent.
Batching amortizes per-request network and serialization overhead
Larger batches can improve indexing throughput
Oversized batches increase memory, request, and retry costs
Tune batch size using the actual payload and indexing workload
0-2 years experience
2-5 years experience
5-8 years experience
8+ years experience