Hacker News new | ask | show | jobs
by judofyr 1460 days ago
> I was NOT able to reproduce the 25X speed that Dragonfly claims

The Dragonfly benchmark which showed 25x faster was run on c6gn.16xlarge which has 64 vCPU. The m5.4xlarge you used "only" has 16 vCPU. Since Dragonfly is achieving its performance by using multiple threads it's not weird that you weren't able to replicate its performance gain.

In my opinion, when it comes to these types of multi-threaded benchmarks it's much better to separate the "baseline, one-process performance" from "how it scales with number of processes". E.g. if you first pin Dragonfly to only run on a single core you can find the baseline performance compared to Redis, and then you can run different benchmarks of Dragonfly with increasing number of cores to see how it scales. This should give you much better understanding of how the system behaves. (The release of Dragonfly actually prompted me to write a blog post on this: https://t.holmium.no/dia/apples-vs-oranges/)

2 comments

If you start with "baseline, one-process performance", you're likely to mislead yourself, since no modern server has fewer than eight, and a single-thread benchmark can omit important locks. A modern baseline is probably two to four cores, even if you're running multiple services on one machine.
I think you misunderstand. You start with 1 then test 2, 4, 8… up to the largest core count you can. This shows you where the multi threading arch breaks down.
agree with your article entirely. the dragonfly benchmark seems far too artificial to be true and used in practice (given the expensive hardware). my tests were on a relatively cheaper box, and Skytable topped all the other systems.