PDGGK opened a new pull request, #120:
URL: https://github.com/apache/iotdb-extras/pull/120
Adds the TC-1 ingestion-throughput benchmark for the IoTDB Table Mode write
path, together with the case definition and the measured result.
### What it does
`IoTDBTableIngestionBenchmarkIT` drives the real save path — bounded queue,
single flush worker, multi-row `Tablet` insert — against the same
`apache/iotdb:2.0.8-standalone` Testcontainer the functional integration tests
use, then reports records/sec, error rate and writer statistics.
It asserts a deliberately conservative floor of 1,000 rows/sec plus strict
correctness: zero failures, zero rejects, `flushed` equal to rows written, and
sampled rows readable back from IoTDB. The job is to catch a gross throughput
regression and to prove real end-to-end ingestion — not to certify a headline
number. It carries `@Tag("benchmark")` and is not part of the default test run.
### On the number, and what it is not
Two back-to-back runs on this branch measured **54,292** and **61,936**
rows/sec with a zero error rate; `docs/benchmarks/report.md` anchors on the
conservative figure.
The report is explicit that this is **not** a pass of the sustained
full-profile target, and records why:
- 50 saver threads drive only 50 distinct devices, against a profile defined
for 1,000;
- `entity_id` is a TAG column, so device cardinality materially changes the
write workload;
- 30,000 rows fit entirely in the 50,000-row queue, so the run exercises no
back-pressure;
- a single flush worker by design.
It also records the host provenance — a shared developer laptop under Docker
Desktop, not dedicated benchmark hardware — so the figure can be read for what
it is. The full profile is marked deferred with an explicit to-be-filled list.
`docker-compose.bench.yml` provides the equivalent stack for running the
case outside JUnit.
### Scope
Test, docs and a compose file. No production code, no new dependency.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]