Arrow of time
Arrow of time

mdcached

Share Tweet Share

For some years (many more than really necessary) I have been workin on and off on a pet project of …

For some years (many more than really necessary) I have been workin on and off on a pet project of mine, mdcached - a cache server similar to memcached. I've figured it's time to finish it and bring it to usable state now, so (I hope) I'll be writing up the progress here. For now, I have some really nice benchmark results which show off its strengths compared to memcached.


mdcached (the name is probably temporary) is a key-value memory cache server but with a more rich metadata model - more on that later. For now, here's some performance numbers I'm proud of:

Over FreeBSD localhost, 2x Xeon 5430:

* mdcached: 93000 TPS
* memcached: 71000 TPS

Over Linux localhost, 2x Xeon 5430:

* mdcached: 282000 TPS
* memcached: 181000 TPS

Over FreeBSD Unix sockets, 2x Xeon 5430:

* mdcached: 420000 TPS

Over Linux Unix sockets, 2x Xeon 5430:

* mdcached: 360000 TPS

TPS is transactions per second, with a 90% read / 10% write mixture. I have some detailed documentation about how this is achieved (it's 2x - 3x faster than memcached) but that will also have to wait until I have the time to present it nicely.

These benchmarks are done on a relatively old server, a 2.6 GHz Xeon 5430. On a much newer server with much faster memory, a Xeon 5630, the top result - over Unix sockets - is 920,000 TPS! Yes, that's what's called the bleeding edge.

Note how the TCP overhead is really large compared to Unix domain sockets (local IPC), especially on FreeBSD with it's single-threaded loopback NIC processing. Frome some discussions on the topic I've heard that the situation will improve for FreeBSD 9 (benchmarks were on FreeBSD 8-STABLE and Linux 2.6.35 Ubuntu server).

(btw the project is not yet generally usable except for the highly adventureus; only the C client is available)


#1 Re: mdcached

Added on 2011-03-08T18:00 by Jung-uk Kim

Why GPLv3, why? :-(

#2 Re: mdcached

Added on 2011-03-08T18:02 by Ivan Voras

I still haven't decided if it can be commercialized in any way; the license could change in the future, of course :)

#3 Re: mdcached

Added on 2011-03-08T18:19 by Ivan Voras
E-mail me for a discussion on licensing, I'd like to hear more opinions.

#4 Re: mdcached

Added on 2011-03-09T09:00 by Ten

Any kind of replications in plans?

#5 Re: mdcached license

Added on 2011-03-09T09:26 by nuclight
Why not CDDL at least?

#6 Re: mdcached license

Added on 2011-03-09T11:28 by Ivan Voras

The GPLv3 license is an experiment - I'll change it to something more liberal before I release a usable version of the software.

Yes, replication is planned.

#7 Re: mdcached license

Added on 2011-03-12T02:03 by jgh

is loadbalancing in the plans?

#8 Re: mdcached license

Added on 2011-03-12T02:19 by Ivan Voras

Loadbalancing: yes, in exactly the same way as with memcached :)

#9 Re: mdcached license

Added on 2011-03-17T16:17 by Alex Libman

Very much hoping you'll use a Copyfree license like BSD.


comments powered by Disqus