I will be adding a memcached server to my web app to offload lots of db requests. I'll be mostly caching different small id-name pairs (memberid-membername, blogid-blogname, etc) and expect total number of cached items to be in hundreds of millions.
Now, the server will be Windows 2008 R2 x64 with 48 Gb memory. Should I run one large instance of memcached x64 (40 GB) or 20 instances memcached x32 (2gb each)? The .net memcached client supports either configuration, so my question sis about memcached performance only - I'm concerned that with a billion items in one instance it will start taking considerable amount of time for cache server to lookup an item vs locating one of smaller instances and looking up only among 50 million items.
I couldn't find any statistics on the web; any ideas are highly appreciated!
Since you would be running 20 instances on the same machine I don't see any benefit unless you have different applications that are using memcache and want to separate out the instances for that. Having a single instance versus 20 would shave off the milli/microseconds taken in the hash table lookup to find the correct instance to connect to.
If you are interested in knowing how memcache works then follow the link, I have answered the question before. Would help you make an informed decision.