> I've seen some FUD from people claiming that memcached doesn't scale
> very well on multiple CPUs, which surprised me.
>
> Is there an accepted benchmark we can use to examine performance in more
> detail?
>
> Does anybody have any testing results in that area?

While we don't have a standard set of benchmarks yet, we do test it,
people have tested it, and it's routinely heavily hammered in production
all over the place, including several top 10 websites.

The FUD is easy enough to dispell: just squint at their numbers a little
bit and think it through carefully.

Most of these are saying that you hit a "wall scaling memcached" past,
say, 300,000 requests per second on a single box. (though I think with the
latest 1.4 it's easier to hit 500,000+). Remember that 300,000 requests
per second at 1k per request is over 2.5 gigabits of outbound alone.

If your requests are much smaller than that, you might skid in under
1gbps. For sanity's sake though, take a realistic look at how many
requests per second you actually hit memcached with. 100,000+ per second
per box is unlikely but sometimes happens, and works fine.

Even large sites are likely doing less than that, as they will need more
memory before hosing a box.

"memcached doesn't scale!" is a pile of horseshit. The same industry
claims all the single-threaded NoSQL stuff "Scales" just fine. Figure out
what your own needs are for requests per second, then try to do that with
your hardware. Odds are good you'll be ale to hit 10x-100x that mark.

I think sometime this year we'll be making it "scale" across CPU's better
than it presently does, but the only people who would ever notice would be
users with massive memcached instances on 10gbps ethernet servicing small
requests. I'm sure there's someone out there like that, but I doubt anyone
listening to the FUD would be one of them.

-Dormando

Reply via email to