Skip to content

InternalBenchmarks

Vadim TSesko edited this page Feb 2, 2016 · 1 revision

Internal Benchmarks

We believe that it is extremely hard to compare database engine performance, so we provide just some production-based graphs comparing previous Apache Lucene based to current YoctoDB based system implementation in Yandex.Auto service.

Dataset:

  • Several millions documents in the index
  • Tens fields per document
  • Several GB total index size

Queries:

  • Mixed production load (search and count)
  • Filtering with several fields
  • Sorting by one field

Environment:

  • 2 x Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz = 16 cores (32 with HT)
  • 64 GB RAM
  • SSD

Yandex.Auto Production Latency Improvement

Yandex.Auto Production Latency Improvement

The point of significant latency drop is the switch from Apache Lucene to YoctoDB.

100rps Load

100rps Quantiles

Lucene:

100rps Lucene Quantiles

YoctoDB:

100rps YoctoDB Quantiles

100rps Time Distribution

Lucene:

100rps Lucene Time Distribution

YoctoDB:

100rps YoctoDB Time Distribution

100rps CPU Load

Lucene:

100rps Lucene CPU Load

YoctoDB:

100rps YoctoDB CPU Load

Max Load

To measure the max load a database engine can handle we disabled all the logic except querying.

Max Load Quantiles

Lucene:

Max Load Lucene Quantiles

YoctoDB:

Max Load YoctoDB Quantiles

Max Load CPU Load

Lucene:

Max Load Lucene CPU Load

YoctoDB:

Max Load YoctoDB CPU Load