Como depurar / corrigir uma falha de segmentação php / apache ao usar memcache (redundante) para armazenamento de sessão?

1
  • os: debian squeeze (up2date)
  • 2 servidor web apache mod php
  • 2 servidor memcache

Eu tenho que apache nós mod_php que usam dois servidores memcache para armazenamento de sessão redundante (usado variante 3 de link ).

memcache.ini

extension=memcache.so

[memcache]
memcache.dbpath="/var/lib/memcache"
memcache.maxreclevel=0
memcache.maxfiles=0
memcache.archivememlim=0
memcache.maxfilesize=0
memcache.maxratio=0

memcache.allow_failover=1
memcache.hash_strategy=consistent
memcache.session_redundancy=3

php.ini

session.save_handler = memcache
session.save_path="tcp://192.168.0.11:11211?persistent=1&weight=1&timeout=1&retry_interval=15,tcp://192.168.0.19:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

tudo funciona bem usando apenas um servidor memcache, ele também funciona bem com dois ou dois servidores redundantes. as sessões são gravadas em ambos os servidores (posso verificar isso com phpmemcache admin), mas assim que eu mato um nó (pare um servidor memcache) eu me meti em problemas.

os servidores memcache parecem ter um servidor "master" e um servidor "2nd". há menos problemas quando eu mato o segundo servidor, mas assim que encerro o primeiro servidor memcache (tendo o segundo up), o log de erro do apache é preenchido com falhas de segmentação em cada tentativa de conexão.

Eu também tentei memcache.session_redundancy=3 , mas eu tenho o valor 3 por causa do bug link

ps. se você usar o Firefox: link eu acabei de perder a minha pergunta sobre pressionar de volta depois correndo para o material "você é humano" do serverfault ....

    
por c33s 20.12.2011 / 01:31

1 resposta

2

Eu tive o mesmo erro. Você precisa instalar uma nova versão do memcache . Eu tive o 3.04 e falhou como você diz, com 3.07 apache não está deixando de funcionar. Eu posso parar um dos meus servidores memcached e o segundo deles suporta a falha, sem segfaults do apache.

    
por 16.10.2012 / 16:28