Speed difference under load

marc at corky.net marc at corky.net
Sat Oct 27 16:25:22 UTC 2007


The easiest thing to do is to run your php script via php-cli and strace 
the php-cli process as it runs, you'll then figure out what time is 
being spent on.


K J wrote:
>
>     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 
> <mailto: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>
>     > <mailto: 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
>     >
>     >
>
>
>
> !DSPAM:47234410137066856617375! 



More information about the memcached mailing list