[support] Problem with Drupals built in cache

Margusja margus at roo.ee
Thu Jan 20 13:43:19 UTC 2011


Thx for a replay. I checked again my memcache and I think it works fine.

[15:40:16 root at arendus ~]# telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
stats
STAT pid 30211
STAT uptime 19724
STAT time 1295530831
STAT version 1.2.8
STAT pointer_size 32
STAT rusage_user 0.094985
STAT rusage_system 0.230964
STAT curr_items 67
STAT total_items 1089
STAT bytes 168012
STAT curr_connections 11
STAT total_connections 188
STAT connection_structures 14
STAT cmd_flush 0
STAT cmd_get 6580
STAT cmd_set 1089
STAT get_hits 711
STAT get_misses 5869
STAT evictions 0
STAT bytes_read 9254362
STAT bytes_written 5742821
STAT limit_maxbytes 67108864
STAT threads 5
STAT accepting_conns 1
STAT listen_disabled_num 0
END

rows from settings.php
if(extension_loaded('memcache')){
         $conf['cache_inc'] = './sites/all/modules/memcache/memcache.inc';
         $conf['memcache_key_prefix'] = 'xxx';
}

Tervitades, Margus (Margusja) Roo
+372 51 48 780
http://margus.roo.ee
msn: margusja at kodila.ee
skype: margusja


On 1/20/11 2:45 PM, Jamie Holly wrote:
> Drupal is still going to check the access table to see if you have any
> blocks in there for the current user, even if the table is empty.
>
> The semaphore you are seeing is to prevent a cache stampede. You said
> that once you disabled memcache, everything worked fine. It looks like
> you have a problem with either your memcache server, the PHP memcache
> extension or your settings in Drupal for memcache. I would check the
> server first, since that's the easier. You can just do a telnet to check
> that out. From shell:
>
> telnet (server address) (server port)
>
> See if it connects OK.
>
> As far as Pressflow+Memcache, yeah they work great together. I run that
> combination for a couple of clients, including one that has seen over
> 150,000 page an hour, and never had a problem.
>
> Jamie Holly
> http://www.intoxination.net
> http://www.hollyit.net
>
>
> On 1/20/2011 4:12 AM, Margusja wrote:
>> If I disable memcache support in PHP then in the problematic server I
>> see that there no problem anymore. So can memcache and pressflow cache
>> work parallel ?
>>
>> Tervitades, Margus (Margusja) Roo
>> +372 51 48 780
>> http://margus.roo.ee
>> msn: margusja at kodila.ee
>> skype: margusja
>>
>>
>> On 1/20/11 10:09 AM, Margusja wrote:
>>>   Hi
>>>
>>>   I have two separate Drupal instances (Pressflow 6.19) In first one the
>>>   local cache works fine. Sql log:
>>>               326 Query       SET NAMES "utf8"
>>>               326 Query       SELECT 1 FROM access WHERE type = 'host' AND
>>>   '195.50.208.170' LIKE mask AND status = 0 LIMIT 0, 1
>>>               326 Query       SELECT data, created, headers, expire,
>>>   serialized FROM cache WHERE cid = 'variables'
>>>               326 Query       SELECT data, created, headers, expire,
>>>   serialized FROM cache_page WHERE cid = 'http://IP/path/to/node'
>>>               326 Query       SELECT name, filename, throttle FROM system
>>>   WHERE type = 'module' AND status = 1 AND bootstrap = 1 ORDER BY weight
>>>   ASC, filename ASC
>>>               326 Query       SELECT name, filename, throttle FROM system
>>>   WHERE type = 'module' AND status = 1 AND bootstrap = 1 ORDER BY weight
>>>   ASC, filename ASC
>>>               326 Quit
>>>
>>>   But If I request the same node in the second machine. The code is same,
>>>   then the Sql log is:
>>>                 122 Quit
>>>                 123 Query       SET NAMES "utf8"
>>>                 123 Query       SELECT 1 FROM access WHERE type = 'host'
>>>   AND 'IP' LIKE mask AND status = 0 LIMIT 0, 1
>>>                 123 Query       INSERT INTO semaphore (name, value, expire)
>>>   VALUES ('variable_cache_regenerate',
>>>   '17865562914d37e5d81acd80.47344784', 1295508982.1098)
>>>                 123 Query       SELECT * FROM variable
>>>                 123 Query       DELETE FROM semaphore WHERE name =
>>>   'variable_cache_regenerate' AND value = '17865562914d37e5d81acd80.47344784'
>>>                 123 Query       SELECT name, filename, throttle FROM system
>>>   WHERE type = 'module' AND status = 1 AND bootstrap = 1 ORDER BY weight
>>>   ASC, filename ASC
>>>                 123 Query       SELECT * FROM languages ORDER BY weight
>>>   ASC, name ASC
>>>                 123 Query       SELECT dst FROM url_alias LIMIT 0, 1
>>>                 123 Query       SELECT src FROM url_alias WHERE dst =
>>>   'hoiused-ja-investeerimine' AND language IN('et', '') ORDER BY language
>>>   DESC, pid DESC
>>>                 123 Query       SELECT name, filename, throttle FROM system
>>>   WHERE type = 'module' AND status = 1 ORDER BY weight ASC, filename ASC
>>>                 123 Query       INSERT INTO semaphore (name, value, expire)
>>>   VALUES ('locale_cache_et', '17865562914d37e5d81acd80.47344784',
>>>   1295508982.4035)
>>>                 123 Query       SELECT s.source, t.translation, t.language
>>>   FROM locales_source s LEFT JOIN locales_target t ON s.lid = t.lid AND
>>>   t.language = 'et' WHERE s.textgroup = 'default' AND s.version = '6.19'
>>>   AND LENGTH(s.source)<    75
>>>                 123 Query       DELETE FROM semaphore WHERE name =
>>>   'locale_cache_et' AND value = '17865562914d37e5d81acd80.47344784'
>>>                 123 Query       SELECT s.lid, t.translation, s.version FROM
>>>   locales_source s LEFT JOIN locales_target t ON s.lid = t.lid AND
>>>   t.language = 'et' WHERE s.source = 'Stores details about batches
>>>   (processes that run in multiple HTTP requests).' AND s.textgroup =
>>>   'default'
>>>   ....
>>>   ....
>>>   loads of SQLs
>>>
>>>   The main question why does the last one ask something from semaphore? In
>>>   both servers access table is empty. At first I thought the condition
>>>   came from that SQL: SELECT 1 FROM access WHERE type = 'host' AND 'IP'
>>>   LIKE mask AND status = 0 LIMIT 0, 1 but as I said in both servers access
>>>   table is empty.
>>>
>>>   In both solutions caches are enabled.
>>>
>>>   Any hints?
>>>


More information about the support mailing list