Для повышения производительности можно кэшировать ответы на запросы на стороне Nginx, которые редко изменяются. Это позволяет серверу один раз получить результат от вашего приложения и в дальнейшем возвращать его другим клиентам, снижая нагрузку на приложение.
Для начала необходимо создать директорию, в которой будут храниться данные кэша:
После этого, в основной конфигурационный файл nginx.conf
нужно добавить несколько директив:
proxy_cache_path
— указывает путь к директории, где будут храниться кэшированные данные.
- Параметр
levels
задает структуру папок для хранения кэша, keys_zone определяет размер зоны для хранения метаданных (в данном случае 60 мегабайт). max_size=256m
задает максимальный размер кэша.inactive=24h
указывает, что кэшированные данные, к которым не было обращений в течение 24 часов, будут автоматически удалены.
proxy_cache_key
— определяет ключ кэширования. В данном случае используется комбинация схемы запроса, метода, хоста и URI. Этот ключ позволяет разделить кэш для разных поддоменов и запросов.
proxy_cache_methods
— указывает, какие HTTP-методы будут кэшироваться (в данном примере — только методы GET и HEAD).
proxy_cache_min_uses
— задает минимальное количество обращений к ресурсу перед его кэшированием. Установка значения 2 означает, что кэширование начнется только после второго обращения, что предотвращает кэширование редко используемых данных и снижает нагрузку на запись.
Переносим кэш Nginx в RAM
Чтобы значительно ускорить кэш, можно разместить его в оперативной памяти (RAM) вместо файловой системы. Это позволит значительно сократить время доступа к кэшированным данным.
Для этого создаем директорию для кэша (если она уже создана, нужно очистить её от содержимого) и монтируем её в RAM с помощью tmpfs. Выделим 256 мегабайт под кэш:
Если потребуется отключить RAM-кэш, выполните команду:
Чтобы автоматически пересоздавать кэш в RAM после перезагрузки системы, необходимо обновить файл /etc/fstab
. Добавьте в него следующую строку:
Мета информация
Область:: 00 Nginx
Родитель:: Кэширование
Источник::
Автор::
Создана:: 2024-04-07