And here is strace
...
     0.000085 [28b4f1ab] gettimeofday({1667458660, 1681273911}, NULL)
= 0 <0.000013>
     0.000202 [28b5f2a3] write(9, "set
b5e03d478da6b7b8e61095fec4eb0"..., 8196) = 8196 <0.000038>
     0.000091 [28b5f2a3] write(9, "pr.parent_id = p.parent_id
(1)\";s"..., 1360) = 1360 <0.000023>
     0.000078 [28b5f2c3] read(9, 0x2aef6054, 8196) = -1 EAGAIN
(Resource temporarily unavailable) <0.000014>
     0.000061 [28b09d6f] poll([{fd=574240058, events=POLLIN|POLLPRI|
POLLRDNORM|POLLWRBAND|POLLERR|POLLNVAL|0x6000}], 1, INFTIM) = 1
([{fd=1933255265, revent$
     0.099064 [28b5f2c3] read(9, "STORED\r\n"..., 8196) = 8 <0.000018>
     0.000090 [28b4f1ab] gettimeofday({875772260, 912536929}, NULL) =
0 <0.000013>
 ...

by strace read took almost 0.10 seconds..

On Mar 1, 6:13 pm, Chaosty <chaostyz...@gmail.com> wrote:
> The tests were performed by modifying the set method like this:
>
>         public static function set($key, $item, $exp = 60) {
>                 $benchmark = Profiler::start ('Memory', 'Set: '. $key);
>                 $return = self::$instance->set ($key, $item, $exp);
>                 Profiler::stop ($benchmark);
>                 return $return;
>         }
>
> Then I figured out that almost each set is cost to us ~0.000079
> seconds
> but the big key costs ~0.099359 seconds
>
> this is trace info with: truss -faedD -o /phplog
> ...
> 76982: 2.431621337 0.000014247 gettimeofday({1267456195.261569 },0x0)
> = 0 (0x0)
> 76982: 2.431709896 0.000014806 gettimeofday({1267456195.261658 },0x0)
> = 0 (0x0)
> 76982: 2.431964677 0.000045257 write(9,"set
> b5e03d478da6b7b8e61095fec4eb"...,8196) = 8196 (0x2004)
> 76982: 2.432037871 0.000017600 write(9,"pr.parent_id = p.parent_id
> (1)";"...,1360) = 1360 (0x550)
> 76982: 2.432097655 0.000015644 read(9,0x2aedb054,8196) ERR#35
> 'Resource temporarily unavailable'
> 76982: 2.532011750 0.099864927 poll({9/POLLIN},1,-1) = 1 (0x1)
> 76982: 2.532070696 0.000016482 read(9,"STORED\r\n",8196) = 8 (0x8)
> 76982: 2.532135509 0.000014248 gettimeofday({1267456195.362084 },0x0)
> = 0 (0x0)
> ...
> seems here's the problem: 76982: 2.532011750 0.099864927 poll({9/
> POLLIN},1,-1) = 1 (0x1)
>
> On Feb 28, 3:41 am, dormando <dorma...@rydia.net> wrote:
>
> > How are you performing the test? Is memcached over localhost or over the
> > network?
>
> > If you can reproduce this in isolation I'd be curious to see what
> > memcached and/or php are waiting on that takes so long (via strace or
> > similar).
>
> > On Wed, 24 Feb 2010, me from wrote:
> > > Adam we are on freebsd 7.2, as i said early we use PECL memcached 1.0.0 
> > > with libmemcached 0.35, the memcached version is 1.4.4.
>
> > > We use our framework this is an init method
>
> > > ��� public static function instance() {
> > > ��� ��� if (self::$instance === NULL) {
> > > ��� ��� ��� // Create a new instance
> > > ��� ��� ��� self::$instance = new Memcached ();
> > > ��� ��� ��� self::$instance->setOption 
> > > (Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT);
> > > ��� ��� ��� self::$instance->addServers (array (array 
> > > ('127.0.0.1', 11211, 100)));
> > > ��� ��� }
> > > ��� }
>
> > > and this is a set method that works fine with small data and stops with 
> > > data > 100kbs
>
> > > ��� public static function set($key, $item, $exp = 60) {
> > > ��� ��� return self::$instance->set ($key, $item, $exp);
> > > ��� }
>
> > > Marc, no we don't use persistent you can see it in our init method.
>
> > > On Wed, Feb 24, 2010 at 8:47 PM, Marc Bollinger <mbollin...@gmail.com> 
> > > wrote:
> > >       And are you using persistent connections? There have been a handful 
> > > of
> > >       threads recently, discussing setting up persistent connections with
> > >       PECL::memcached.
>
> > >       - Marc
>
> > > On Wed, Feb 24, 2010 at 9:41 AM, Adam Lee <a...@fotolog.biz> wrote:
> > > > What kind of hardware and software configurations are you using on the
> > > > client and server sides?
> > > > We have servers doing like 5M/s in and 10M/s out without even breaking a
> > > > sweat...
>
> > > > On Wed, Feb 24, 2010 at 7:35 AM, me from <chaostyz...@gmail.com> wrote:
>
> > > >> We use memcached php extension, (http://pecl.php.net/package/memcached)
>
> > > >> On Wed, Feb 24, 2010 at 12:02 PM, Juri Bracchi <yak...@gmail.com> 
> > > >> wrote:
>
> > > >>> the latest memcache php extension version is 2.2.5
>
> > > >>>http://pecl.php.net/package/memcache
>
> > > >>> On Wed, 24 Feb 2010 05:09:36 +0300, me from wrote:
> > > >>> > No. Sorry for misunderstanding, its my bad. Its php extension (PECL)
> > > >>> > of version 1.0.0.
>
> > > >>> > Memcached is 1.4.4
>
> > > >>> > On Wed, Feb 24, 2010 at 4:42 AM, Eric Lambert
> > > >>> > <eric.d.lamb...@gmail.com> wrote:
>
> > > >>> >>> PHP5.3, libmemcached 0.35, memcached 1.0.0
>
> > > >>> >> Is this really the version of the memcached server you are using
> > > >>> >> (1.0.0) If so, that is certainly out-of-date. Latest version is
> > > >>> >> 1.4.*.
>
> > > >>> >> Eric
>
> > > >>> >> Chaosty wrote:
> > > >>> >>> We have found that Memcahed::set stores items around 100-200kbs 
> > > >>> >>> for
> > > >>> >>> 0.10-0.11 seconds, its too slow. Compression is turned off. Any
> > > >>> >>> suggestions?
>
> > > >>> >>> PHP5.3, libmemcached 0.35, memcached 1.0.0
>
> > > > --
> > > > awl

Reply via email to