Назад |
Перейти на главную страницу
APC продолжает промывать
Смотрите мой APC здесь: http://www.animefushigi.com/apc.php
Если вы продолжаете нажимать кнопку «Обновить» в левом верхнем углу, следите за количеством «Хитов», а также значениями «Время начала» и «Время работы». Все они поднимаются и опускаются.
Я нахожу это довольно странным, обычно все 3 этих значения должны только увеличиваться с течением времени, а не уменьшаться (за исключением времени начала, которое должно оставаться таким же)
Мое единственное предположение заключается в том, что кеш очищается каждую секунду.
Я искал и пробовал несколько вещей, чтобы исправить это
- отключен suEXEC
- установить apc.mmap_file_mask / dev / zero
- попробовал PHP 5 Handler fcgi и cgi
также, когда я иду в / tmp / по ssh и делаю -ls
Я не вижу ничего, связанного с apc.
Какие-либо предложения ?
Сервер Linux и использует whm / cpanel
* edit: У меня есть подозрение, что проблема может быть связана с apc.mmap_file_mask. В настоящее время он установлен на /tmp/apc-animefus.XXXXXX
но на странице apc.php кажется, что xxxxxx заменяется при каждом обновлении на что-то другое
Несколько замечаний о APC и различных режимы:
- Кэш APC в основном зависит от процесса.
- Если вы используете CGI, процесс создается, APC создает свой кеш, а затем процесс завершается и кеш очищается. (из того, что я могу найти, suPHP похоже на CGI).
- Если вы используете FastCGI, Apache порождает один процесс для каждого одновременного запроса. Он хранит их на случай, если они снова будут использоваться. Каждый процесс имеет свой собственный кеш APC.
- Если вы используете обработчик mod_php, он разделяет кеш среди всех процессов apache, но не запускает его от имени пользователя.
Наблюдения:
- Кеш не сбрасывается при каждом обновлении страницы, я вижу несколько повторно используемых файлов, которым уже пять минут. Любая перенастройка сервера сбросила бы это.
- Единственный способ узнать, что у вас такой же процесс FastCGI, - это быть единственным клиентом.
- На вашем веб-сайте может быть так много запросов, что используется несколько процессов FastCGI.
То, что должно быть правдой:
- В режиме CGI или SUPHP значения никогда не повышаются.
- В режиме fcgid значения меняются вверх и вниз.
- В режиме mod_php / DSO значения верны.
Что я бы проверил (не в каком-то определенном порядке):
- Наблюдайте за процессами PHP под вашим пользователем (используя top или аналогичные). Посмотрите, как долго они обычно бегают и выходят ли.
- Проверьте файлы журнала, чтобы узнать, сколько запросов попадает в PHP.
- Создайте сценарий для проверки идентификатора процесса, под которым он запускается, если вы хотите записать их в базу данных / файл, чтобы вы могли легко отслеживать их. Продолжайте загружать эту страницу, чтобы собрать информацию о том, как долго выполняется процесс.
- Проверьте конфигурацию FastCGI, я не уверен, как cPanel настраивает ее по умолчанию, потому что у нее всегда были проблемы с некоторыми веб-сайтами, когда я ее пробовал. Есть несколько вариантов, которые определяют, как долго процесс должен оставаться в живых. PHP по умолчанию завершает работу после 500 запросов в режиме FastCGI. Это целенаправленно, поскольку некоторые сообщают об утечке памяти PHP после очень долгой работы. Если ваш сайт получает много посещений, вы можете увеличить это число.