Speed difference under load

K J sanbat at gmail.com
Sat Oct 27 13:58:25 UTC 2007


>
> The default connection timeout in pecl/memcache is 1 second, and when
> using Memcache::addServer() the connection isn't established until the
> first command is sent (ie. the "get" in your example). Perhaps you have
> added several servers, one of which is unreachable, and thus the client
> will stall 1 second before flagging that server as down and trying the
> next one. If you're using persistent connections, that server will still
> be flagged as down on subsequent requests and will be skipped immediately.
>
> Or as Marc said, the client might indeed be waiting for a DNS response..
>

I've used IPs, not hostnames, so unless memcache is doing a reverse DNS
lookup, I doubt that's the cause.

As for servers, I do have 2 memcache servers, but they are both up and
running.

Any other ideas, or ways I can go about hunting this thing down?






On 10/27/07, Mikael Johansson <mikael at synd.info> wrote:
>
> Hi,
>
> The default connection timeout in pecl/memcache is 1 second, and when
> using Memcache::addServer() the connection isn't established until the
> first command is sent (ie. the "get" in your example). Perhaps you have
> added several servers, one of which is unreachable, and thus the client
> will stall 1 second before flagging that server as down and trying the
> next one. If you're using persistent connections, that server will still
> be flagged as down on subsequent requests and will be skipped immediately.
>
> Or as Marc said, the client might indeed be waiting for a DNS response..
>
> //Mikael
>
> K J wrote:
> >     The slowdown is almost certainly in your client library. The server,
> on
> >     our systems, takes about 1.5 milliseconds to start up, and a
> >     fraction of
> >     a millisecond to answer the first request. But your client might be
> >     doing a lot of work the first time it executes. You didn't say what
> your
> >     client language and environment is, so it's kind of hard to even
> take a
> >     useful guess.
> >
> >
> > The app is running on PHP and is using the PHP memcache library:
> > http://cn2.php.net/manual/en/ref.memcache.php
> >
> > I record the time it takes to render a page, and every page ends up
> > taking 1 second or so.  Most of that 1 second is due to the very first
> > memcache get request.  It happens at every page that uses memcache.  The
> > only time this problem goes away is when I run a load testing tool and
> > start having multiple users hit the system constantly.
> >
> >
> >
> >
> > On 10/27/07, *Steven Grimm* <sgrimm at facebook.com
> > <mailto:sgrimm at facebook.com>> wrote:
> >
> >     K J wrote:
> >     > So it's normal to have Memcache's response time be 1 second, if
> the
> >     > system is relatively idle?  This happens when I'm basically the
> only
> >     > user on the system, logging in, checking pages, etc.
> >
> >     The slowdown is almost certainly in your client library. The server,
> on
> >     our systems, takes about 1.5 milliseconds to start up, and a
> fraction of
> >     a millisecond to answer the first request. But your client might be
> >     doing a lot of work the first time it executes. You didn't say what
> your
> >     client language and environment is, so it's kind of hard to even
> take a
> >     useful guess.
> >
> >     -Steve
> >
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.danga.com/pipermail/memcached/attachments/20071027/26358385/attachment.htm


More information about the memcached mailing list