jsdelivr / globalping

A global network of probes to run network tests like ping, traceroute and DNS resolve
https://globalping.io
270 stars 33 forks source link

Try migration to dragonfly #269

Open alexey-yarmosh opened 1 year ago

alexey-yarmosh commented 1 year ago

Seems like all redis JSON operations which we are using (get, set, strappend) are implemented by dragonfly team/contributors (https://github.com/dragonflydb/dragonfly/releases/tag/v0.12.0). Since that was a main blocker in using dragonfly we can try to migrate to it and measure the performance diff.

Questions to answer:

MartinKolarik commented 1 year ago

I don't think this is necessary at all because redis can scale just as well or better with the cluster module, we just don't use it yet. The client library has support for clustering, so with small config changes, we should be able to utilize all cores with redis, too, without using an entirely different DB.

The benchmarks at https://redis.com/redis-enterprise/technology/linear-scaling-redis-enterprise/ suggest redis achieves almost 100% linear scaling, while dragonfly showcases "25x speedup" but that's on a 32 core / 64 thread server - so at least on the first sight, worse than redis.

jimaek commented 1 year ago

Clustering Redis reliably is a pain, especially on OSS version. So I am 100% for migration to Dragonfly