Skip to content

Query throughput

Alex Gorrod edited this page Jul 29, 2014 · 1 revision

What

We have done many performance optimizations between the 2.2.1 and 2.3.0 releases of WiredTiger. This page details a simple benchmark that measures the performance improvements.

Results

Graph of results

Version Load time (seconds) Query (million operations per second)
2.2.1 7.85 1.75 million
2.3.0 7.42 2.10 million

That is a 20% improvement in a highly optimized code path in a single release. These performance optimizations should improve throughput for almost all in-memory workloads.

Benchmark Details

The benchmark tool used is wtperf included with the WiredTiger package. The configuration file used is:

conn_config="cache_size=5G"
table_config="internal_page_max=1MB,leaf_page_max=1MB"
icount=5000000
report_interval=10
run_time=200
populate_threads=1
threads=((count=8,reads=1))
value_sz=10

A summary of the workload:

  • Small keys and values
  • In cache workload
  • Running 8 concurrent threads doing random point queries

Hardware

Tested on an AWS h1.4xlarge instance type, which has 60GB RAM, 2x1024GB SSD drives (configured as RAID 0 with xfs), 16 vCPUs.