Увеличение времени ожидания для соединений mod_proxy_ajp
У меня есть apache (2.2.3), разговаривающий с tomcat 6. что-то через mod_proxy_ajp.
У меня есть несколько смехотворно долгоживущих запросов (2-6 минут), и я думаю, что мы где-то установили тайм-аут по умолчанию... где правильное место, чтобы увеличить это?
вот мой прокси def:
<Location /blah>
ProxyPass ajp://localhost:8010/blah
ProxyPassReverse ajp://localhost:8010/blah
</Location>
2 ответа
Не могу сказать, что попробовал это, но меня заинтересовал вопрос, поэтому я немного погуглил и нашел вот что:
Директива ProxyTimeout
Эта директива позволяет пользователю указать время ожидания для запросов прокси. Это полезно, когда у вас медленный / глючный сервер приложений, который зависает, и вы бы предпочли просто вернуть тайм-аут и изящно потерпеть неудачу, а не ждать, сколько бы времени не понадобилось серверу для возврата.
Значением по умолчанию является значение директивы Timeout, которая по умолчанию по умолчанию равна 300 секундам. Поэтому попробуйте увеличить ProxyTimeout и посмотреть, поможет ли это.
PS Имейте в виду, что у Tomcat тоже могут быть свои тайм-ауты. Этот документ содержит дополнительную информацию (хотя, имейте в виду, у меня нет личного опыта работы с этими настройками).
Если вы хотите изменить время ожидания только для прокси-сервера ajp, а не глобально, вы можете добавить параметр "timeout", например, так:
<Location /blah>
ProxyPass ajp://localhost:8010/blah timeout=600
ProxyPassReverse ajp://localhost:8010/blah
</Location>