O aplicativo Rails que está se queixando não pode se conectar ao memcached, mas tenho certeza que ele está em execução

1

Tudo estava bem, então reiniciei o servidor.

Agora mesmo:

$ ps aux | grep memcache
1000     27168  0.0  0.0 121972  1056 pts/0    Sl   15:18   0:00 memcached -m 64 -p 11211 -u nobody -l 127.0.0.1
1000     27816  0.0  0.0   7628   956 pts/0    S+   15:36   0:00 grep memcache

enquanto isso, o log do aplicativo rails está recebendo toneladas disso:

MemCacheError (No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:55 -0600 2011)): No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:55 -0600 2011)
MemCacheError (No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:55 -0600 2011)): No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:55 -0600 2011)
MemCacheError (No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:55 -0600 2011)): No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:55 -0600 2011)
MemCacheError (No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:55 -0600 2011)): No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:55 -0600 2011)
MemCacheError (No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:56 -0600 2011)): No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:56 -0600 2011)
MemCacheError (No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:56 -0600 2011)): No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:56 -0600 2011)
MemCacheError (No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:56 -0600 2011)): No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:56 -0600 2011)
MemCacheError (No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:56 -0600 2011)): No connection to server (localhost:11211 DEAD (Timeout::Error: execution expired), will retry at Tue Feb 15 15:35:56 -0600 2011)

Sendo que eu sou mais um desenvolvedor do que um servidor, e sendo que nós realmente não temos um "servidor", e isso está em produção ... onde eu começar com isso?

    
por centipedefarmer 15.02.2011 / 22:43

2 respostas

3

netstat -tupln | grep -i memcache

Isso lhe dirá se sua instância de memcache está escutando e em que porta. Eu check-in / etc / hosts que localhost é definido. Deveria ser por padrão, mas se alguém foi DD feliz em Vi você pode obter real problemas. Sua saída de PS mostra memcache começando com -l 127.0.0.1, mas seu script está se conectando a 'localhost' - isso, por definição, é a mesma coisa, mas é arbitrário, no fato de você poder deletar a linha localhost, ou re-alias para o IP que está na eth0.

memcache é um protcol de texto simples, então tente telnetar para a porta

telnet 127.0.0.1 11211

você deve receber a mesma resposta de

telnet localhost 11211
    
por 15.02.2011 / 23:32
0

Tivemos este problema e foi resolvido assim que trocamos o cliente memcache

link

(não foi muito trabalho para mudar)

    
por 21.06.2011 / 17:16