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 <[email protected]> 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 <[email protected]> 
> > 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 <[email protected]> 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 <[email protected]> wrote:
>
> > >> We use memcached php extension, (http://pecl.php.net/package/memcached)
>
> > >> On Wed, Feb 24, 2010 at 12:02 PM, Juri Bracchi <[email protected]> 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
> > >>> > <[email protected]> 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