Все было хорошо, затем я перезагрузил сервер.
Сейчас:
$ 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
тем временем журнал приложения rails получает массу этого:
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)
Поскольку я больше разработчик, чем серверный парень, и что мы на самом деле иметь "серверный парень", и это в производстве ... с чего мне начать?
netstat -tupln | grep -i memcache
Это скажет вам, прослушивает ли ваш экземпляр memcache и на каком порту. Я бы проверил / etc / hosts, что определен localhost. Это должно быть по умолчанию, но если кто-то доволен DD в Vi, у вас могут возникнуть настоящие проблемы. Ваш вывод PS показывает memcache, начинающийся с -l 127.0.0.1, но ваш скрипт подключается к 'localhost' - это по определению одно и то же, но это произвольно, поскольку вы можете удалить строку localhost или изменить псевдоним на IP-адрес на eth0.
memcache - это протокол с открытым текстом, поэтому попробуйте подключиться к порту через Telnet
telnet 127.0.0.1 11211
вы должны получить такой же ответ от
telnet localhost 11211
У нас была эта проблема, и она была решена после замены клиента memcache.
https://github.com/mperham/dalli
(было не так уж много работы, чтобы изменить)