What about memcached? Is it running on localhost or over the network? Any chance you could get an strace from the memcached side? Have your test app talk to a separate test instance or something.
Is it exactly or close to 0.10s each time? That's suspicious. On Mon, 1 Mar 2010, Chaosty wrote: > sorry my bad full strace is: > 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, revents=POLLIN|POLLPRI|POLLOUT|POLLHUP|POLLNVAL| > 0x3a00}]) <0.098976> > 0.099064 [28b5f2c3] read(9, "STORED\r\n"..., 8196) = 8 <0.000018> > 0.000090 [28b4f1ab] gettimeofday({875772260, 912536929}, NULL) = > 0 <0.000013> > > > On Mar 1, 6:24 pm, Chaosty <chaostyz...@gmail.com> wrote: > > 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 >