delay
Директива 'delay' вводит намеренную задержку при обработке запросов на указанный промежуток времени.
Описание
Директива 'delay' используется в NGINX для введения паузы в обработке запроса на указанный промежуток времени. Она может быть задана в различных контекстах, включая блоки http, server и location. Эта директива принимает один аргумент, который задаёт время задержки в миллисекундах, секундах или минутах. Когда она включена, обработка запроса временно приостанавливается до истечения указанной продолжительности задержки. Максимальная продолжительность ограничена только конфигурацией сервера и доступными ресурсами.
Когда обрабатывается запрос с задержкой, событие записи запроса переводится в отложенное состояние. Это означает, что в течение задержки сервер не обрабатывает какие-либо дополнительные события для данного запроса. После указанного периода задержки сервер возвращается к обычному порядку обработки. Если запрос подвергается внутреннему перенаправлению, будет инициирована дополнительная задержка, увеличивая общее время ожидания. Этот модуль полезен для имитации медленных ответов, ограничения пропускной способности запросов или тестирования поведения клиентов при задержках ответов сервера.
Важно настроить соответствующие параметры таймаутов, чтобы избежать непреднамеренной перегрузки сервера или неотзывчивых состояний из-за чрезмерных задержек. Директиву 'delay' следует использовать умеренно, учитывая общую производительность сервера и опыт пользователя.
Пример конфига
location = /slow {
delay 10s;
# other configurations
}Внутренние перенаправления вызовут отдельную задержку, что может увеличить общее время ожидания.
Убедитесь, что параметры таймаута настроены корректно, чтобы предотвратить отказ запросов из-за чрезмерных задержек.