Question
I am interested in learning the following metrics, per memcached instance:
- Safe range for connections/GETs/SETs per second
- Upper bound for connections/GETs/SETs per second
I have a feeling the true bottleneck will be connections, but would like input from people who have established installations of memcached on their sites.
Background
I run a website that is seeing hundreds of millions of page views over the course of a month. It is distributed across multiple web servers. The site was originally coded with a file-based cached schema that was not shared by the web server pool; each web server maintained its own cached copy of each page.
For obvious reasons, we're migrating to memcached. We converted our lower-traffic but more-dynamic pages (aka 'pages with lower cache hit rates') without issue. We're now moving on to our higher-traffic but more-static pages (aka 'pages that should see higher cache hit rates'). We've converted the lowest-traffic ones first and we've already seen a jump from 3.5k GETs per second on average to 11k GETs per second on average. We're seeing between 400-600 connections active at any given time on average. Our connection limit is set to 4k in our configuration file.
Considering we still have the highest-traffic pages left to implement, this seemed like a good time to research the accepted ranges and upper limits regarding memcached. That way, we can determine if we need to expand to additional memcached instances before we move the highest-traffic portions of our site over to memcached. I realize our usage now is no cause for alarm, but I'd like to know when it will be, and I'd like to know that beforehand.