Client interoperability, server selection.
tomash.brechko at gmail.com
Tue Mar 11 19:17:51 UTC 2008
On Tue, Mar 11, 2008 at 11:47:12 -0700, Josh Snyder wrote:
> One more to add -- the consistent hashing is not quite perfect, in
> that adding/removing a server causes some unrelated items to get
> rehashed to different servers. There's a (too) long email about this,
> including tests and an explanation of why it happens, at:
> See also Richard Jones' recent comments at
> It is not a critical problem (in an out-of-the-box test, only between
> 5% and 10% of items get rehashed unnecessarily), but if we're shooting
> for a standard, it might be worth trying to resolve.
Thanks for reminding this. I didn't look that deep myself. Indeed,
there seem to be no need to change the number of points of remaining
servers. Actually, implementation in Cache::Memcached::Fast uses
fixed <ketama_points> * <server_weight> irrespectively of the number
of other servers and their weights, and I kinda assumed everyone does
So, can we all agree on fixed (user controllable) number of points per
server, or are there any reasons to do the dynamic scaling? As I
understand it, server weight is there to reflect how many memory
and/or bandwidth a particular server has, and this doesn't change with
other machines go up and down.
More information about the memcached