Apache, PHP кэширование



A настроил внутренний прокси-сервер, используя Curl и PHP. Настройка выглядит следующим образом:

Прокси-сервер является довольно дешевым VPS (который имеет медленный дисковый ввод/вывод в разы). Все запросы к этому серверу обрабатываются одним индексом.PHP-скрипт. Индекс.php получает данные с другого, быстрого сервера и отображает их пользователю.

Передача данных между двумя серверами происходит очень быстро, и узким местом является только дисковый ввод-вывод на прокси-сервере. Так как есть только один индекс.PHP - я хотите знать

1) Как я могу гарантировать этот индекс.php постоянно "cahced" в Apache на прокси-сервере? (Гугля для кэша php, я нашел много пользовательских решений, которые будут кэшировать" данные", выводимые php я хочу знать, есть ли какие-либо модули предварительной сборки в apache, которые будут кэшировать сам php-скрипт?).

2) Всегда ли данные, полученные с бэкенд-сервера, хранятся в оперативной памяти / кэше прокси-сервера? (при условии, что памяти достаточно)

3) читает ли apache какие-либо конфигурационные файлы или другие файлы с диска при обработке запросов?

4) ожидает ли apache записи журналов на диск перед подачей содержимого-если да, то я отключу ведение журнала на прокси-сервере (или есть способ гарантировать, что содержимое сначала подается, не дожидаясь записи журналов).?

В принципе, я хочу исключить дисковый ввод-вывод все вместе на "прокси-сервере".

Спасибо,

JP

137   3  

3 ответов:

1) установить APC (http://pecl.php.net/apc ), это скомпилирует ваш PHP-скрипт один раз и сохранит его в общей памяти на время жизни процесса веб-сервера (или заданного TTL).

2) Если ваш скрипт извлекает данные и не кэширует/хранит их в файловой системе, он будет находиться в оперативной памяти, да. Но только на время выполнения запроса. PHP использует стратегию "share-nothing", которая означает, что вся память освобождается после запроса. Если вы кэшируете данные в файловой системе, рассмотрите возможность использования memcached (http://memcached.org/) вместо того, чтобы обойти файловый ввод-вывод.

3) Если есть .активирована поддержка htaccess, Apache будет искать их в каждом пути, ведущем к вашему файлу php. Смотрите Почему я не могу отключить .htaccess в Apache? для получения дополнительной информации.

4) не уверен на 100%, но, вероятно, он ждет.

Почему бы не использовать что-то вроде лака, который явно построен для этого типа задач и не несет накладных расходов Apache?

Я бы рекомендовал "tinyproxy"для этой куколки. Делает все, что вы хотите, очень эффективно.

    Ничего не найдено.

Добавить ответ:
Отменить.