Rainer, Thanks for your suggestion. I tried out the 1.2.18 version of mod_jk(mod_jk-apache-2.0.46-linux-i686.so) but the behaviour seems to be very similar. Here is some of the information that you asked for. For the purpose of the test, i have only one Tomcat worker available. Though i had only 1 client making requests every 5 seconds Tomcat started up 7 threads after the client had made 10 requests.
Thanks Ramdas ####################from httpd.conf################## JkWorkersFile conf/workers.properties JkShmFile logs/mod_jk.shm JkLogFile logs/mod_jk.log #JkLogLevel info JkLogLevel trace # Forward jsp requests to JBoss JkMount /*.jsp loadbalancer ##############from ssl.conf#################### JkMount /*.jsp loadbalancer JkMount /bigweb/* loadbalancer JkMount /bigdev03/* dev03s JkMount /bigdev04/* dev04s ********************* output from tomcat web status*********************************** Max threads: 220 Min spare threads: 1 Max spare threads: 1 Current thread count: 7 Current thread busy: 7 Max processing time: 69 ms Processing time: 0 s Request count: 10 Error count: 0 Bytes received: 0.00 MB Bytes sent: 0.00 MB Stage Time B Sent B Recv Client VHost Request K 33057 ms ? ? **.24.0.63 ? ? K 27926 ms ? ? **.24.0.63 ? ? K 17666 ms ? ? **.24.0.63 ? ? K 12538 ms ? ? **.24.0.63 ? ? K 38182 ms ? ? **.24.0.63 ? ? K 22792 ms ? ? **.24.0.63 ? ? *********************************netstat output********************************** tcp 0 0 xx.24.0.87:36275 xx.24.0.63:3306 ESTABLISHED tcp 0 0 xx.24.0.87:36274 xx.24.0.63:3306 ESTABLISHED tcp 0 0 xx.24.0.87:36278 xx.24.0.63:3306 ESTABLISHED tcp 0 0 xx.24.0.87:36277 xx.24.0.63:3306 ESTABLISHED tcp 0 0 xx.24.0.87:36276 xx.24.0.63:3306 ESTABLISHED *************************************mod_jk.log*********************************output logged for 1 request from client***************************** [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] get_most_suitable_worker::jk_lb_worker.c (600): found best worker dev04 (dev04) using method 'Request' [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] get_most_suitable_worker::jk_lb_worker.c (604): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] get_endpoint::jk_ajp13_worker.c (72): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_get_endpoint::jk_ajp_common.c (2137): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_get_endpoint::jk_ajp_common.c (2164): acquired connection pool slot=0 [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_get_endpoint::jk_ajp_common.c (2167): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] get_endpoint::jk_ajp13_worker.c (74): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] service::jk_lb_worker.c (648): service worker=dev04 jvm_route=dev04 [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_service::jk_ajp_common.c (1658): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_marshal_into_msgb::jk_ajp_common.c (386): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_marshal_into_msgb::jk_ajp_common.c (566): ajp marshaling done [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_marshal_into_msgb::jk_ajp_common.c (567): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_service::jk_ajp_common.c (1698): processing dev04 with 2 retries [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_send_request::jk_ajp_common.c (1166): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_send_message::jk_ajp_common.c (905): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_connection_tcp_send_message::jk_ajp_common.c (909): sending to ajp13 pos=4 len=217 max=8192 [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_connection_tcp_send_message::jk_ajp_common.c (909): 0000 12 34 00 D5 02 04 00 08 48 54 54 50 2F 31 2E 31 - .4......HTTP/1.1......................... [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_send_message::jk_ajp_common.c (926): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_send_request::jk_ajp_common.c (1264): request body to send 192 - request body to resend 0 [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_read_into_msg_buff::jk_ajp_common.c (1106): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_read_fully_from_server::jk_ajp_common.c (1060): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_read_into_msg_buff::jk_ajp_common.c (1142): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_send_message::jk_ajp_common.c (905): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_connection_tcp_send_message::jk_ajp_common.c (909): sending to ajp13 pos=4 len=198 max=8192 ....................................... [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_send_message::jk_ajp_common.c (926): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_send_request::jk_ajp_common.c (1359): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_get_reply::jk_ajp_common.c (1501): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_get_message::jk_ajp_common.c (949): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1037): received from ajp13 pos=0 len=3 max=8192 [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1037): 0000 06 1F FA 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................ [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_get_message::jk_ajp_common.c (1043): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_process_callback::jk_ajp_common.c (1374): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_read_into_msg_buff::jk_ajp_common.c (1106): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_read_fully_from_server::jk_ajp_common.c (1060): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_read_into_msg_buff::jk_ajp_common.c (1142): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_process_callback::jk_ajp_common.c (1439): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_send_message::jk_ajp_common.c (905): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_connection_tcp_send_message::jk_ajp_common.c (909): sending to ajp13 pos=4 len=4 max=8192 [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_connection_tcp_send_message::jk_ajp_common.c (909): 0000 12 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - .4.............. [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_send_message::jk_ajp_common.c (926): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_get_message::jk_ajp_common.c (949): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1037): received from ajp13 pos=0 len=161 max=8192 [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1037): 0000 04 00 C8 00 02 4F 4B 00 00 03 00 0C 58 ................ [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_get_message::jk_ajp_common.c (1043): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_process_callback::jk_ajp_common.c (1374): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_unmarshal_response::jk_ajp_common.c (604): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_unmarshal_response::jk_ajp_common.c (621): status = 200 [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_unmarshal_response::jk_ajp_common.c (628): Number of headers is = 3 [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_unmarshal_response::jk_ajp_common.c (684): Header[0] [X-Powered-By] = [Servlet 2.4; Tomcat-5.0.28/JBoss-3.2.6 (build: CVSTag=JBoss_3_2_6 date=200410140106)] [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_unmarshal_response::jk_ajp_common.c (684): Header[1] [Content-Type] = [text/xml] [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_unmarshal_response::jk_ajp_common.c (684): Header[2] [Content-Length] = [299] [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_unmarshal_response::jk_ajp_common.c (691): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_get_message::jk_ajp_common.c (949): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1037): received from ajp13 pos=0 len=303 max=8192 .................... [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_get_message::jk_ajp_common.c (1043): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_process_callback::jk_ajp_common.c (1374): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ws_write::mod_jk.c (412): written 299 out of 299 [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_process_callback::jk_ajp_common.c (1476): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_get_message::jk_ajp_common.c (949): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1037): received from ajp13 pos=0 len=2 max=8192 [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1037): 0000 05 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................ [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_connection_tcp_get_message::jk_ajp_common.c (1043): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_process_callback::jk_ajp_common.c (1374): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_process_callback::jk_ajp_common.c (1465): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_get_reply::jk_ajp_common.c (1588): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_service::jk_ajp_common.c (1733): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_done::jk_ajp_common.c (2077): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] ajp_done::jk_ajp_common.c (2107): recycling connection pool slot=0 for worker dev04 [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] ajp_done::jk_ajp_common.c (2110): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] service::jk_lb_worker.c (726): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] done::jk_lb_worker.c (846): enter [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] done::jk_lb_worker.c (857): exit [Sun Jul 30 20:38:03 2006] [22029:16384] [debug] jk_handler::mod_jk.c (1962): Service finished with status=200 for worker=loadbalancer [Sun Jul 30 20:38:03 2006] [22029:16384] [trace] jk_handler::mod_jk.c (1965): exit Rainer Jung <[EMAIL PROTECTED] data.de> To No Phone Info Tomcat Users List Available <users@tomcat.apache.org> cc 07/28/2006 01:41 Subject PM Re: connectionTimeout and reusing Tomcat threads Please respond to "Tomcat Users List" <[EMAIL PROTECTED] che.org> I know this sounds very general, but 1.2.10 is quite antique. First update to 1.2.18, try again and if your problem is still reproducible, post your config (workers.properties and Jk* from httpd.conf) and relevant parts of the mod_jk-Logfile with LogLevel trace. Also try to relate tcp connection information from netstat using you AJP port to your thread observations. Regards, Rainer [EMAIL PROTECTED] schrieb: > Hello > > I have an application which uses Apache(2.0.53) as the Webserver and > mod_jk(1.2.10) to forward servlet/jsp requests to Tomcat(5.0) as part of > the JBoss container - all running on Linux. > It looks like mod_jk is not reusing the existing connections that it > establishes with the Tomcat resulting in a large number of Tomcat threads > which are in KeepAlive state as reported by the Tomcat console. > I do not have any timeouts set either on the Apache side or Tomcat side of > the connector. > The JBoss/Tomcat 5.0 document states that the default connectionTimeout > within the AJP 1.3 connector on the Tomcat side is 60 seconds but it does > not seem to be the case. > > I am trying to force this connectionTimeout to clean up the large number of > Tomcat threads, but i am not sure if this is the best thing to do. > Is there anything on the Apache side in the workers.properties that i could > specify to make sure mod_jk reuses these connections. > > Thanks > > > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]