#django #timeout #mod-wsgi #apache2.4
#django #тайм-аут #mod-wsgi #apache2.4
Вопрос:
Я запускаю веб-сервер с использованием Apache 2.4, mod_wsgi и Django. Сервер иногда перегружается из-за высокого трафика. Я хочу настроить сервер таким образом, чтобы он отвечал заранее определенным ответом по умолчанию на отложенные запросы (т. Е. Запросы, Которые ожидали в очереди в течение определенного времени ожидания). Каков наилучший способ сделать это? Кроме того, я хочу сохранить соединение после отправки ответа по умолчанию.
Любая помощь очень ценится.
Ответ №1:
Вы можете настроить mod_wsgi
с коротким таймаутом, а затем настроить ошибку таймаута в Apache. Например, если вы хотите, чтобы это произошло через десять секунд, вы можете установить request-timeout=10
в качестве параметра WSGIDaemonProcess
директивы.
Затем вы можете настроить Apache для отображения пользовательского сообщения об ошибке для тайм-аутов: ErrorDocument 504 "We're too busy right now, the hamsters are exhausted!"
Вы также можете настроить пользовательскую HTML-страницу или URL: https://httpd.apache.org/docs/2.4/custom-error.html
Сделайте все это в пределах a VirtualHost
, и он будет ограничен локально. Удачи!