jdbc-endpoint config-connect seam into a cloud product
evaluation: OLTP throughput/goodput/latency from the recognized BenchBase
TPC-C implementation, plus the price/performance composite, against a managed
database you operate.
The connect chain (target → adapter → suite → evaluator) is covered by this
repo’s CI (unit + mock). The live steps below need your managed database and
a BenchBase build — clousight-bench never provisions the database on this path.
The audited tpmC is not claimed; the numbers are BenchBase’s, unaudited.
0. What you need
- A managed PostgreSQL/MySQL-compatible instance (Aliyun RDS/PolarDB, AWS
RDS/Aurora, …) with a
benchbasedatabase created and network access from the driver machine. - A BenchBase build (Java 17+):
put
benchbaseonPATHor setBENCHBASE_HOME. pip install clousight-bench.
1. Where to run the driver
Same rule as every connect-mode evaluation: run the driver in-region (same VPC as the instance). OLTP tail latency over the public internet measures your ISP, not the database.2. Connect profile
Start from the committed example (examples/cloud-connect/aliyun-rds-postgres.yaml
/ aws-aurora-postgres.yaml):
BENCHBASE_DB_USER / BENCHBASE_DB_PASSWORD env vars
(BenchBase reads its config XML; the harness writes it owner-only 0600 into a
0700 work dir and removes it after the run).
3. Preflight, then run
csbench doctor now probes for real: a TCP reachability probe of the JDBC endpoint plus BenchBase launcher + Java ≥ 17 checks. A wrong address, a closed
allowlist or a missing/old tool surfaces here with a remediation hint — not as a
mid-run stack trace. The same checks gate csbench run at its PREFLIGHT stage.
tpc-c.throughput_req_per_sec, tpc-c.goodput_req_per_sec,
tpc-c.p99_latency_us, … — environmental measurements from unmodified BenchBase.
4. Price/performance
CLOUSIGHT_PRICING_DATA=feed.json csbench run … adds
$ per (req/sec) under extensions.pricing.price_performance[] — unaudited,
from your own price input, never able to change the verdict. (Official
price/tpmC needs an audited tpmC; we deliberately do not claim either.)
5. Honest caveats
scalefactor(warehouses) must scale with the instance class — an undersized warehouse count measures lock contention, not the service.- Load phase (
--create --load) is part of the run and can take long at high scale factors; sizetimeso the measured window dwarfs warmup effects. - Compare same dbtype, same scalefactor/terminals, same region locality only.
