Documentation
¶
Overview ¶
Command run-crud runs the headline CRUD-read workload (benchmarks/workloads/crud-list.js) against one already-running, already-seeded implementation and merges its rows into a results snapshot.
It drives the pinned k6 image (the load generator runs in a container on the host network, on the SAME machine as the app — the issue's "another container on the same host" topology, recorded as such), warms up with a discarded run, then measures TRIALS times at each concurrency level, parses and validates each summary, and writes results.json/results.csv plus metadata.json. A failed k6 run or an invalid summary (no traffic, HTTP errors, failed content checks) fails the command loudly with nothing written (issue #141 §10).
It does NOT start or resource-constrain the app; run standalone, the recorded resource_limits therefore says so honestly. This is the per-implementation engine: `make benchmark-crud-all` (benchmarks/scripts/run-crud-all.sh) brings all six apps up under compose with the §7 limits, records each container's applied-limit classification, and loops this over them.