Dragonfly, an alternative Redis/Memcached implementation

Hi, I am investigating if Dragonfly can be used as a Redis or Memcached implementation for Nextcloud.

Dragonfly is a multithreaded in-memory database that scales out very well with increased core count, as a contrast to Redis which is single threaded only.

The Nextcloud requirements doesn’t specify what minimum Redis API version is required, so I wanted to ask if anyone has tested or investigated this?

2 Likes

Redis 4.0 currently:

It’s documented in the Memory Caching section: Memory caching — Nextcloud latest Administration Manual latest documentation

1 Like

Thank you. I had missed that section.

It should normaly be no major problem to replace redis with dragonfly.

The problem is, that dragonfly has minimal support requirements (SSE4, AVX2) that a processor should support. If you want to use it on older hardware, you have to build it yourself.

But you can try, it should be completely transparent. Simply change the redis connection settings in config/config.php to point to the dragonfly deamon.

If it works, please report it here.
If it does not work, you can simply switch back :wink:


Much and good luck,
ernolf

2 Likes

Yea, dragonfly isn’t packaged for my distro, so I built from sources.

So far there are no issues using Dragonfly with Nextcloud. I’ve noticed that for a single instance stuff like occ files:scan --all is somewhat slower. However, switching to unix socket instead of tcp almost made the files scan about 50% faster for both Redis and Dragonfly, which was a nice find :slight_smile:

I also tried the Redis memtier_benchmark:

memtier_benchmark -S /tmp/redis.sock -c 20 --test-time 30 -t 4 -d 256 --distinct-client-seed

Dragonfly vs Redis over unix socket:

Dragonfly vs Redis over tcp (127.0.0.1):

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.