To learn how to reproduce the benchmark results in this document, see . If you do not achieve similar results, check whether your hardware, workload, and test design meet the requirements in this document.

The TiKV performance in this document is evaluated using , which is the Go version of the industry-standard Yahoo! Cloud Serving Benchmark (YCSB).

The goal of the YCSB project is to develop a framework and common set of workloads for evaluating the performance of different key-value and cloud serving stores. For more information about how YCSB is measured, see .

To provide the overall performance of TiKV throughput and latency, the benchmark in this document uses a 3-node TiKV cluster with different client concurrencies.

The configuration of the 3-node cluster is as follows:

The results show that A 3-node TiKV cluster achieves at most 200,000 OPS within 10 ms latency in a 10M records and 10M operations YCSB workload.

TiKV achieves this performance in linearizability, a strong correctness condition, which constrains what outputs are possible when an object is accessed by multiple processes concurrently.

On a 3-node cluster of configuration listed above, TiKV can achieve 212,000 point get read per second on the YCSB workloadc and 43,200 update per second on the YCSB workloada. With different concurrencies, the throughput changes are shown in Figure 1.

Figure 1. YCSB throughput

Latency

Figure 2. YCSB latency

For the 99th percentile latency, see Figure 3.

Figure 3. YCSB 99th percentile latency

  • If you are interested in more benchmark results, see this sheet.