Пункт 122. Модуль Apache mod_cache_disk
mod_cache_disk реализует дисковый менеджер хранения для mod_cache .
Заголовки и тела кэшированных ответов хранятся отдельно на диске в структуре каталогов, полученной из хэша md5 кэшированного URL-адреса.
Несколько ответов на согласование контента могут храниться одновременно, однако кэширование частичного контента пока не поддерживается этим модулем.
Обновления атомарного кэша как для файлов заголовка, так и для файлов тела достигаются без необходимости блокировки за счет сохранения номера устройства и индексного дескриптора файла тела в файле заголовка. Побочным эффектом этого является то, что записи кэша, перемещенные вручную в кэш, будут игнорироваться.
Инструмент htcacheclean предоставляется для отображения кэшированных URL-адресов, удаления кэшированных URL-адресов или для поддержания размера дискового кеша в пределах размера и/или ограничений по инодам. Инструмент можно запускать по запросу или демонизировать, чтобы обеспечить непрерывный мониторинг размеров каталогов.
Примечание:
mod_cache_disk требуются службы
mod_cache , которые должны быть загружены до mod_cache_disk.
Примечание:
mod_cache_disk использует функцию sendfile для обслуживания файлов из кэша, если она поддерживается платформой и включена с помощью EnableSendfile . Однако конфигурация для каждого каталога и .htaccess
EnableSendfile игнорируется,
mod_cache_disk поскольку соответствующие настройки недоступны для модуля, когда запрос обслуживается из кеша.
Директива CacheDirLength
| Описание: | Количество символов в именах подкаталогов |
| Синтаксис: | CacheDirLength length |
| По умолчанию: | CacheDirLength 2 |
| Контекст: | конфигурация сервера, виртуальный хост |
| Положение дел: | Расширение |
| Модуль: | mod_cache_disk |
Директива CacheDirLength устанавливает количество символов для каждого имени подкаталога в иерархии кэша. Его можно использовать в сочетании с CacheDirLevels для определения приблизительной структуры иерархии вашего кэша.
Высокое значение в CacheDirLength сочетании с низким значением CacheDirLevels приводит к относительно плоской иерархии с большим количеством подкаталогов на каждом уровне.
Результат CacheDirLevels * CacheDirLength
не должен быть больше 20.
Директива CacheDirLevels
| Описание: | Количество уровней подкаталогов в кеше. |
| Синтаксис: | CacheDirLevels levels |
| По умолчанию: | CacheDirLevels 2 |
| Контекст: | конфигурация сервера, виртуальный хост |
| Положение дел: | Расширение |
| Модуль: | mod_cache_disk |
Директива CacheDirLevels устанавливает количество уровней подкаталога в кеше. Кэшированные данные будут сохранены на несколько уровней каталога ниже CacheRoot каталога.
Высокое значение в CacheDirLevels сочетании с низким значением CacheDirLength приводит к относительно глубокой иерархии с небольшим количеством подкаталогов на каждом уровне.
Результат CacheDirLevels *
CacheDirLength не должен быть больше 20.
Директива CacheMaxFileSize
| Описание: | Максимальный размер (в байтах) документа, помещаемого в кэш |
| Синтаксис: | CacheMaxFileSize bytes |
| По умолчанию: | CacheMaxFileSize 1000000 |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Положение дел: | Расширение |
| Модуль: | mod_cache_disk |
Директива CacheMaxFileSize устанавливает максимальный размер документа в байтах для хранения в кэше.
Кэшемаксфилесизизе 64000
Директива CacheMinFileSize
| Описание: | Минимальный размер (в байтах) документа для помещения в кэш |
| Синтаксис: | CacheMinFileSize bytes |
| По умолчанию: | CacheMinFileSize 1 |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Положение дел: | Расширение |
| Модуль: | mod_cache_disk |
Директива CacheMinFileSize устанавливает минимальный размер в байтах для документа, который рассматривается для хранения в кэше.
CacheMinFileSize 64
Директива CacheReadSize
| Описание: | Минимальный размер (в байтах) документа для чтения и кэширования перед отправкой данных вниз по течению. |
| Синтаксис: | CacheReadSize bytes |
| По умолчанию: | CacheReadSize 0 |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Положение дел: | Расширение |
| Модуль: | mod_cache_disk |
Директива CacheReadSize устанавливает минимальный объем данных в байтах, которые должны быть прочитаны из серверной части перед отправкой данных клиенту. Значение по умолчанию, равное нулю, приводит к тому, что все считанные данные любого размера передаются вниз по течению клиенту сразу же по мере их поступления. Установка более высокого значения приводит к тому, что кэш диска буферизует по крайней мере это количество перед отправкой результата клиенту. Это может повысить производительность при кэшировании контента с обратного прокси-сервера.
Эта директива вступает в силу только тогда, когда данные сохраняются в кэше, в отличие от данных, которые обслуживаются из кэша.
Кэшреадсизе 102400
Директива CacheReadTime
| Описание: | Минимальное время (в миллисекундах), которое должно пройти при чтении, прежде чем данные будут отправлены вниз по течению. |
| Синтаксис: | CacheReadTime milliseconds |
| По умолчанию: | CacheReadTime 0 |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Положение дел: | Расширение |
| Модуль: | mod_cache_disk |
Директива CacheReadTime устанавливает минимальное количество прошедшего времени, которое должно пройти перед попыткой отправить данные нижестоящему клиенту. В течение периода времени данные будут буферизованы перед отправкой результата клиенту. Это может повысить производительность при кэшировании контента с обратного прокси-сервера.
Значение по умолчанию, равное нулю, отключает эту опцию.
Эта директива вступает в силу только тогда, когда данные сохраняются в кэше, в отличие от данных, которые обслуживаются из кэша. Рекомендуется использовать эту опцию вместе с
CacheReadSize директивой, чтобы гарантировать, что сервер не будет чрезмерно буферизовать, если данные будут поступать быстрее, чем ожидалось.
Кэшреадтиме 1000
Директива CacheRoot
| Описание: | Корень каталога, в котором хранятся файлы кеша |
| Синтаксис: | CacheRoot directory |
| Контекст: | конфигурация сервера, виртуальный хост |
| Положение дел: | Расширение |
| Модуль: | mod_cache_disk |
Директива CacheRoot определяет имя каталога на диске, в котором будут храниться кэш-файлы. Если mod_cache_disk модуль был загружен или скомпилирован на сервере Apache, эта директива должна быть определена. Непредоставление значения для CacheRoot приведет к ошибке обработки файла конфигурации. Директивы CacheDirLevels и CacheDirLength определяют структуру каталогов в указанном корневом каталоге.
CacheRoot c:/cacheroot