Назад | Перейти на главную страницу

«Ajp_read_header: ajp_ilink_receive не удалось»

У нас Apache 2.2.24 перед Tomcat 7.0.33. Мы используем коннекторы AJP с настроенным APR / native. Недавно я заметил несколько 500 ошибок в журналах доступа Apache для небольшой части (0,3%) запросов к одному конкретному ресурсу. Для каждого из этих 500 ответов есть соответствующая пара строк ошибок в журнале ошибок Apache.

[Wed Mar 06 04:07:42 2013] [error] ajp_read_header: ajp_ilink_receive failed
[Wed Mar 06 04:07:42 2013] [error] (70007)The timeout specified has expired: proxy: read response failed from (null) (*)

Время регистрации ошибок составляет от 5:06 до 5:07 минут после времени, зарегистрированного для запроса. Соответствие Timeout 300 установленная директива. В журнале доступа Tomcat ничего не регистрируется, поэтому я предполагаю, что запрос никогда не доходит до него.

Предположительно, существует некоторая проблема производительности с ресурсом (он выполняет обновление БД и имеет довольно высокую нагрузку), но меня больше беспокоит понимание того, что происходит с коммуникацией между Apache и Tomcat:

Apache настроен с использованием правила перезаписи с флагом [proxy,last]. Коннектор Tomcat выглядит так

<Connector port="8014"
           enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

Как я уже сказал ранее, я буду работать над устранением узких мест на ресурсе Tomcat отдельно от этого.