Links
Comment on page

Latency

Our approach to SQL performance benchmarking is to use sysbench, an industry standard benchmarking tool.

Performance Roadmap

Dolt is slower than MySQL. The goal is to get Dolt to match MySQL latency for common operations. Dolt is currently 2X slower than MySQL, approximately 1.5X on writes and 2.5X on reads. The multiple column represents this relationship with regard to a particular benchmark.
It's important recognize that these are industry standard tests, and are OLTP oriented. Performance results may vary but Dolt is generally competitive on latency with MySQL and Postgres.

Benchmark Data

Below are the results of running sysbench MySQL tests against Dolt SQL Server for the most recent release of Dolt in the current default storage format. We will update this with every release. The tests attempt to run as many queries as possible in a fixed 2 minute time window. The Dolt and MySQL columns show the median latency in milliseconds (ms) of each query during that 2 minute time window.
The Dolt version is 1.29.0.
Read Tests
MySQL
Dolt
Multiple
covering_index_scan
2.14
2.86
1.3
groupby_scan
12.98
17.63
1.4
index_join
1.32
5.09
3.9
index_join_scan
1.25
2.14
1.7
index_scan
34.33
55.82
1.6
oltp_point_select
0.17
0.43
2.5
oltp_read_only
3.3
7.7
2.3
select_random_points
0.32
0.72
2.2
select_random_ranges
0.38
0.87
2.3
table_scan
34.33
55.82
1.6
types_table_scan
75.82
158.63
2.1
reads_mean_multiplier
2.1
Write Tests
MySQL
Dolt
Multiple
oltp_delete_insert
7.98
6.79
0.9
oltp_insert
3.75
3.36
0.9
oltp_read_write
8.28
15.27
1.8
oltp_update_index
3.82
3.49
0.9
oltp_update_non_index
3.82
3.43
0.9
oltp_write_only
5.37
7.7
1.4
types_delete_insert
7.7
7.43
1.0
writes_mean_multiplier
1.1
Overall Mean Multiple
1.6
NOTE: There was a recent change in these benchmarks. On the night of October 31, both MySQL and Dolt write benchmarks got slower but MySQL's got slower more. On writes, Dolt went from 1.3X MySQL with no single measure faster than MySQL to 1.1X MySQL with five individual measures faster than MySQL. This does not correspond to a change in the MySQL or Dolt version.
We narrowed this performance change down to a change in AWS Elastic Block Store latencies. Dolt relies on fsyncing to disk less than MySQL and thus is less sensitive to disk latency. We suspect some change to EBS increased disk latencies on October 31.
We chose to keep this benchmark because both Hosted Dolt and AWS RDS MySQL rely on EBS for disk. We are closely monitoring this benchmark and will be publishing more on the topic soon.
Last modified 2d ago