Назад | Перейти на главную страницу

APC продолжает промывать

Смотрите мой APC здесь: http://www.animefushigi.com/apc.php

Если вы продолжаете нажимать кнопку «Обновить» в левом верхнем углу, следите за количеством «Хитов», а также значениями «Время начала» и «Время работы». Все они поднимаются и опускаются.

Я нахожу это довольно странным, обычно все 3 этих значения должны только увеличиваться с течением времени, а не уменьшаться (за исключением времени начала, которое должно оставаться таким же)

Мое единственное предположение заключается в том, что кеш очищается каждую секунду.

Я искал и пробовал несколько вещей, чтобы исправить это

также, когда я иду в / 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 после очень долгой работы. Если ваш сайт получает много посещений, вы можете увеличить это число.