Должен ли Tomcat 6 AJP поддерживать свои потоки в состоянии keepalive с помощью mod_jk?

#tomcat6 #mod-jk #ajp

#tomcat6 #mod-jk #ajp

Вопрос:

Недавно я переключил свой сервер Tomcat на использование AJP, поддерживаемого Apache. В диспетчере, который я вижу:

 Stage   Time    B Sent  B Recv  Client  VHost   Request
K   15395557 ms ?   ?   67.195.114.27   ?   ?
K   15859951 ms ?   ?   119.63.196.73   ?   ?
etc.
  

Является ли это признаком того, что Tomcat слишком долго удерживает соединение открытым?

Я знаю, что у меня какая-то форма утечки, потому что периодически у моего приложения заканчиваются подключения к базе данных и оно останавливается. Я ищу доказательства того, что описанное выше поведение является частью этой проблемы. Я отмечу, что интерфейс для этого — это связь на Javascript с использованием REST в Jquery.

Заранее большое спасибо.

Пересылается из-за ошибки сервера, потому что я там ничего не вижу. 🙁

Ответ №1:

Протокол AJP предназначен для работы с длительными постоянными соединениями. Это нормально и ожидаемо. И Apache, и Tomcat будут поддерживать пулы соединений / потоков и создавать новые только при необходимости.

Само по себе это не является веской причиной подозревать AJP в вашей утечке памяти, хотя, если у вас началась утечка после перехода на AJP, то явно где-то что-то неправильно настроено.

Комментарии:

1. Отлично — это объясняет, что мне нужно посмотреть на конец Apache. Для справки, утечка памяти произошла до перемещения.