postgres_result_timeout

Директива `postgres_result_timeout` определяет максимальное время ожидания результата запроса PostgreSQL до срабатывания тайм-аута.

Синтаксисpostgres_result_timeout time;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива postgres_result_timeout используется для задания значения тайм-аута для запросов PostgreSQL, выполняемых через NGINX. Это помогает контролировать, как долго NGINX должен ждать ответа от сервера PostgreSQL, прежде чем отказаться и завершить обработку запроса. Установив этот параметр, пользователи могут снизить вероятность ситуаций, когда запрос зависает бесконечно, что может привести к исчерпанию ресурсов или снижению производительности веб-приложения.

Значение тайм-аута задаётся в миллисекундах и может быть указано в контекстах http, server или location. Директива принимает один аргумент — предельное время на обработку набора результатов запроса. Если указанный тайм-аут истечёт без получения ответа, NGINX прервет операцию и вернёт клиенту ошибку, обеспечивая отзывчивость приложения. Это особенно полезно в сценариях, когда операции с базой данных могут занимать больше времени, чем ожидается, из‑за высокой нагрузки или неэффективных запросов.

Для обеспечения оптимальной производительности приложения важно подобрать значение тайм-аута сбалансированно. Слишком короткий тайм-аут может привести к ненужному прерыванию запросов, тогда как слишком длинный — к длительному ожиданию в периоды пиковых нагрузок. Пользователям следует отслеживать производительность запросов и корректировать тайм-аут в соответствии с потребностями их приложения и поведением базы данных.

Пример конфига

location /data {
    postgres_pass my_upstream;
    postgres_query SELECT * FROM my_table;
    postgres_result_timeout 1000;
}

Установка слишком короткого таймаута может привести к отказу легитимных запросов и увеличению числа ошибок в вашем приложении.

Изменение таймаута без учёта производительности запросов может привести к непредвиденному поведению или сниженной отзывчивости.

← Ко всем директивам