I догадываюсь , что у вас закончились Memcached соединения. Пожалуйста, запускайте проверку установки memcached простым скриптом каждую секунду. Затем начните осаду. Я думаю, ваш memcached перестает отвечать через некоторое время.
Проверка скрипта memcache php:
<?php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ('Unable to connect');
$version = $memcache->getVersion();
echo 'Server version: '.$version;
?>
Что я думаю происходит, так это то, что вы не отключили постоянные соединения в memcache, и они зависают в потоках php. Memcached может обслуживать ~ 1023 из них одновременно, и этого может быть недостаточно при осаде.
Вы также можете попробовать ab , инструмент тестирования Apache с близким взглядом на переключатель -c
. Поиграйте с ним и посмотрите, как результаты меняются при разных значениях.
Наконец, вы должны запустить tcpdump
на вашем порту memcached (обычно 11211) на php-машине, чтобы выяснить, что происходит с соединениями. Друпал их запускает? Другой хост отвечает RST или время ожидания истекло?
В документации по memcached php была ошибка, из-за которой соединения по умолчанию были непостоянными. Они являются постоянными по умолчанию (ну, они были в то время, когда у меня была проблема с ним).
Не стесняйтесь комментировать этот ответ, я прочитаю комментарии и помогу в случае необходимости.