| Workload | Cluster size | Warehouses | Data size |
|---|---|---|---|
| Local | 3 nodes on your laptop | 10 | 2 GB |
| Local (multi-region) | 9 in-memory nodes on your laptop using cockroach demo | 10 | 2 GB |
| Small | 3 nodes on c5d.4xlarge machines | 2500 | 200 GB |
| Medium | 15 nodes on c5d.4xlarge machines | 13,000 | 1.04 TB |
| Large | 81 nodes on c5d.9xlarge machines | 140,000 | 11.2 TB |
Before you begin
- TPC-C provides the most realistic and objective measure for OLTP performance at various scale factors. Before you get started, consider reviewing .
- Make sure you have already .
Step 1. Start CockroachDB
The
--insecure flag used in this tutorial is intended for non-production testing only. To run CockroachDB in production, use a secure cluster instead.-
In separate terminal windows, use the command to start 3 nodes:
-
Use the command to perform a one-time initialization of the cluster:
Step 2. Import the TPC-C dataset
CockroachDB comes with a number of for simulating client traffic. This step features CockroachDB’s version of the TPC-C workload. Use to load the initial schema and data:Step 3. Run the benchmark
Run the workload for ten “warehouses” of data for ten minutes:Step 4. Interpret the results
Once theworkload has finished running, you’ll see a final output line:
SKIPPED due to insufficient data. For a more comprehensive test, run workload for a longer duration (e.g., two hours). The tpmC (new order transactions/minute) number is the headline number and efc (“efficiency”) tells you how close CockroachDB gets to theoretical maximum tpmC.
The TPC-C specification has p90 latency requirements in the order of seconds, but as you see here, CockroachDB far surpasses that requirement with p90 latencies in the tens of milliseconds.
Step 5. Clean up
-
When you’re done with your test cluster, stop the nodes.
Get the process IDs of the nodes:
Gracefully shut down each node, specifying its process ID:
For the last node, the shutdown process will take longer (about a minute) and will eventually stop the node. This is because, with only 1 of 3 nodes left, all ranges no longer have a majority of replicas available, and so the cluster is no longer operational.
-
To restart the cluster at a later time, run the same
cockroach startcommands as earlier from the directory containing the nodes’ data stores. If you do not plan to restart the cluster, you may want to remove the nodes’ data stores:

