Vector
native · observability-pipeline · MPL-2.0 · active · rust
Homepage · Source · Its configuration in this repository
Has this configuration been reviewed upstream?
Not yet. This configuration has not been checked by the people who maintain this system, and until it has, treat its numbers as ours rather than theirs.
What it was asked to guarantee
at-least-once · offset-commit every 5s
The envelope it ran in
32 CPU · 96g memory
sut— data-plane · 32 CPU · 96g
Its arms
- JSONEachRow
json-each-row· realistic · json_each_row · defaultthreads 32 · chunk_size_events 1000 · sources 8 · batch_events 262144 · batch_timeout_secs 1 · request_concurrency 32 · buffer_events 524288 · compression none
Where it has been measured
c8gd-metal-24xl-ec2-docker · drain
| Arm | Place | Throughput per core | Throughput | Cores used | Measured |
|---|---|---|---|---|---|
| JSONEachRow | 5 of 6 | 66k range 1.0% | 2.10M range 0.9% | 31.87 range 0.2% | 2026-08-26 · 3 reps |
Configurations it refuses
buffer_eventsmust exceedbatch_events. The sink's memory buffer feeds the batcher, so it must hold strictly more than one batch: smaller, and every batch seals early on buffer starvation; equal, and the next batch cannot begin filling while the last drains — either way the declared batch_events is not the quantity actually in force and the record would misdescribe the arm. Raise buffer_events with batch_events.
Declared deviations
- Static inline Avro schema with `strip_schema_id_prefix`; the Schema Registry is never contacted. The 5-byte Confluent frame is stripped without validating the schema id, no registry lookup is ever paid, and the arm cannot detect a writer-schema change mid-run. — Vector has no Schema Registry integration. The baked schema is manufactured at image build from the committed workload/schema/sensor_batch.avsc, so it cannot drift from the schema every other arm fetches. · affects decode-path
Tell us we got this wrong
If this system is configured badly here, that is a bug in this benchmark rather than a result about Vector, and the pull request that fixes it is the most valuable one this repository can receive. How to send one. The whole configuration is at entrants/vector.
This system also reports CPU per row, Cores, data plane, Peak memory, data plane, Peak charged memory, Throttled, ClickHouse CPU per row, ClickHouse CPU, ClickHouse CPU per written row, ClickHouse CPU wait, Bytes inserted, Rows per insert, Rows written server-side. Those figures are on each arm’s own disclosure in the results table.