Модуль Apache mod_cache_disk
| Описание: | Модуль дискового хранилища для фильтра кэширования HTTP. |
|---|---|
| Статус: | Расширение |
| Идентификатор модуля: | cache_disk_module |
| Исходный файл: | mod_cache_disk.c |
Краткое описание
mod_cache_disk реализует менеджер дискового хранилища для mod_cache.
Заголовки и тела кэшированных ответов хранятся на диске отдельно друг от друга в структуре каталогов, определяемой хешем md5 кэшированного URL.
Несколько ответов, полученных в результате согласования содержимого, могут храниться одновременно, однако этот модуль пока не поддерживает кэширование частичного содержимого.
Атомарное обновление кэша для файлов заголовков и тел выполняется без блокировок: номера устройства и индексного дескриптора файла тела сохраняются в файле заголовка. В результате записи кэша, вручную перемещённые в кэш, будут игнорироваться.
Инструмент htcacheclean предназначен для вывода списка кэшированных URL, удаления кэшированных URL или поддержания размера дискового кэша в заданных пределах по размеру и/или количеству индексных дескрипторов. Инструмент можно запускать по требованию или в режиме демона для непрерывного мониторинга размеров каталогов.
Примечание:
Для работы mod_cache_disk требуется mod_cache, который необходимо загрузить до mod_cache_disk.
Примечание:
mod_cache_disk использует функцию sendfile для передачи файлов из кэша, если она поддерживается платформой и включена с помощью EnableSendfile. Однако mod_cache_disk игнорирует настройки EnableSendfile на уровне каталогов и в файлах .htaccess, поскольку соответствующие параметры недоступны модулю при обработке запроса из кэша.
Директива 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 задаёт максимальный размер документа в байтах, при котором он может быть сохранён в кэше.
CacheMaxFileSize 64000
Директива CacheMinFileSize
| Описание: | Минимальный размер документа (в байтах), при котором он помещается в кэш |
|---|---|
| Синтаксис: | CacheMinFileSize bytes |
| Значение по умолчанию: | CacheMinFileSize 1 |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Статус: | Расширение |
| Модуль: | mod_cache_disk |
Директива CacheMinFileSize задаёт минимальный размер документа в байтах, при котором он может быть сохранён в кэше.
CacheMinFileSize 64
Директива CacheReadSize
| Описание: | Минимальный объём данных документа (в байтах), который следует прочитать и кэшировать перед отправкой данных дальше по цепочке |
|---|---|
| Синтаксис: | CacheReadSize bytes |
| Значение по умолчанию: | CacheReadSize 0 |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Статус: | Расширение |
| Модуль: | mod_cache_disk |
Директива CacheReadSize задаёт минимальный объём данных в байтах, который необходимо прочитать из серверной части, прежде чем отправлять данные клиенту. Значение по умолчанию, равное нулю, приводит к тому, что все данные любого объёма сразу передаются клиенту по мере поступления. Если задать более высокое значение, дисковый кэш будет буферизовать не менее указанного объёма данных, прежде чем отправить результат клиенту. Это может повысить производительность при кэшировании содержимого обратного прокси-сервера.
Эта директива действует только при сохранении данных в кэше, а не при передаче данных из кэша.
CacheReadSize 102400
Директива CacheReadTime
| Описание: | Минимальное время (в миллисекундах), которое должно пройти во время чтения до отправки данных дальше по цепочке |
|---|---|
| Синтаксис: | CacheReadTime milliseconds |
| Значение по умолчанию: | CacheReadTime 0 |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Статус: | Расширение |
| Модуль: | mod_cache_disk |
Директива CacheReadTime задаёт минимальное время, которое должно пройти до попытки отправить данные клиенту. В течение этого времени данные буферизуются перед отправкой результата клиенту. Это может повысить производительность при кэшировании содержимого обратного прокси-сервера.
Значение по умолчанию, равное нулю, отключает этот параметр.
Эта директива действует только при сохранении данных в кэше, а не при передаче данных из кэша. Рекомендуется использовать этот параметр вместе с директивой CacheReadSize, чтобы сервер не буферизовал чрезмерный объём данных, если они поступают быстрее, чем ожидалось.
CacheReadTime 1000
Директива CacheRoot
| Описание: | Корневой каталог, в котором хранятся файлы кэша |
|---|---|
| Синтаксис: | CacheRoot directory |
| Контекст: | конфигурация сервера, виртуальный хост |
| Статус: | Расширение |
| Модуль: | mod_cache_disk |
Директива CacheRoot задаёт имя каталога на диске, в котором будут храниться файлы кэша. Если модуль mod_cache_disk загружен или скомпилирован в сервер Apache, эту директиву необходимо определить. Если не задать значение для CacheRoot, при обработке файла конфигурации возникнет ошибка. Директивы CacheDirLevels и CacheDirLength определяют структуру каталогов внутри указанного корневого каталога.
CacheRoot c:/cacheroot
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_cache_disk.html