memcacheD performance

Darpan Dinker darpandinker at
Tue Jul 24 05:07:53 UTC 2007

Steven Grimm wrote:
> Darpan Dinker wrote:
>> Can somebody provide a ballpark response time for a get( ) under light
>> load for:
>>  - a memcached server on the same system as the client
>>  - a remove server with 1 Gigabit Ethernet network
>> I am guessing that it is on the order of 20ms and 150ms.
>> Feedback appreciated; please include the processor, memory size and OS.
>> Darpan
> Something is seriously wrong with your configuration if you're seeing
> anything like 20ms response times. It should be more like 0.5ms for
> remote hosts and 0.05ms for localhost. I hope that really was just a
> wild guess, not the result of actual testing.
My mistake in typing the units, I was thinking more in terms of 20us and
Your numbers are ~40us and ~500us.
I appreciate your reply.
> For simple single-key "get" requests over TCP, we typically see
> between 400 and 500 microsecond response times. That's for a remote
> host over a gigabit Ethernet, both the client and the server running
> Linux 2.6 kernels on 4-core 1.8GHz AMD64 boxes. If I run memcached on
> the same box as my client, I see 35-40 microsecond response times.
> The memory size is irrelevant (memcached uses a self-expanding
> hashtable which provides constant-time lookups regardless of cache
> size) but the OS matters. In our tests we found, for example, that
> Solaris had somewhat higher latency than Linux on the same hardware.
> On the order of 50-100usec, if I remember correctly, but it was a
> while ago so the gap may have closed in the meantime.
> CPU type matters too: SPARC boxes had *much* higher latency than AMD64
> ones, no surprise since each core of a big multicore SPARC box is
> significantly slower than each core of an AMD64 box (even if the total
> number of computations per second is much greater on the SPARC due to
> its high parallelism.) I don't remember the numbers on that one --
> maybe some of the Sun guys can pipe up on this front?
> Oh, the other thing that matters is your client. If you are using a
> client in a slow language, your apparent response time will of course
> be higher by some amount, but that's nothing to do with memcached per
> se. Likewise, if your client has to do object deserialization when it
> gets a response back, that may also affect response time depending on
> how fast your language's serialization is. Though I have never
> encountered any language where deserialization time would be measured
> in tens of milliseconds on modern hardware!
> -Steve


More information about the memcached mailing list