Migrating from Memcached to Membase - Can somebody comment on my plan?
Our company is a long time user of memcached in production. We have a new feature that will be perfect for the persistence in membase and so we have decided to upgrade our memcache systems to membase. We will not be using the Type 2 client at first, so everything will be talking the standard memcache protocol. I wondering if somebody can take a look at my plan and comment and maybe offer some suggestions if there is a better way. I plan on blogging about this upgrade for other people to use later.
I have 2 machines in this particular datacenter for memcache. Here are the stats per server:
- - Dell server with dual quad-core and 16G of memory
- - 8 memcached daemons running with 2G allocation each
- - Ports 11211-11218
- - Averages of around 10k connections at any one time, 2000 per port.
- - Average of 8req/s
- - Very little machine load
To move to membase, here is my current plan per server.
1 membase bucket
p.p1 {margin: 0.0px 0.0px 16.0px 0.0px; font: 15.0px Calibri}
- - 2G per bucket, 4G total in cluster
- - Replicated
- - No auth
- - ASCII Protocol
- - Port 21211
7 classic memcached buckets
- - 2G per bucket
- - No replication
- - No auth
- - ASCII Protocol
- - Ports 11211-11217
Any thoughts would be appreciated.
Patrick
Jason,
Thanks for the reply. More servers are in the cards soon after this upgrade. Right now our application uses very little cache which keeps the risk low. That will change soon which is one of the reasons we are planning this switch to membase. Our next iteration will be to all membase buckets and the full vBucket aware client. Adding servers will be a breeze at that point.
Thanks for the blog link. More good info to have.
we don't use the membase version of the buckets so I won't comment on that, but you may want to consider having more than 2 nodes in your memcached cluster. Depending on the speed/reliability/redundancy of your persistent storage that backs those caches, losing 50% of your cache if a node were to go down may be problematic. We were operating under 2-nodes and we had a hardware failure and our DB server took a pretty big hit. When we redid the architecture, we split it out into 5 nodes.
You can read about our full setup here:
http://jasonsirota.com/cache-architecture-part-ii-membase-servers-im
Jason
Jason Sirota
Director, Application Architecture - The Knot
http://twitter.com/jasonsirota