I am currently developing an application using JBoss with embedded Tomcat 
and running Apache with mod_jk to serve the images. When I hit the site 
through only Tomcat on port 8080 it runs smoothly and quickly. When I run 
the site with mod_jk through apache it runs fine until I have to make some 
kind of a post or get. It then stalls for about 20 seconds and finally makes 
a response. Here is a tcpdump of port 8009 and 80 from the server during the 
incident:

from port 80:

<nop,nop,timestamp 224486080 413472712> (DF)
14:14:12.640025 > 192.168.1.30.www > 10.0.1.23.1133: . 1:1(0) ack 717 win 
31740 <nop,nop,timestamp 413472713 224486080> (DF)
14:14:12.880085 > 192.168.1.30.www > 10.0.1.23.1133: P 1:297(296) ack 717 
win 31740 <nop,nop,timestamp 413472737 224486080> (DF)
14:14:12.882929 < 10.0.1.23.1133 > 192.168.1.30.www: . 717:717(0) ack 297 
win 6432 <nop,nop,timestamp 224486105 413472737> (DF)
---hits internal JBoss port 8009 (ajp13 connector) here---
14:14:29.070079 > 192.168.1.30.www > 10.0.1.23.1133: F 297:297(0) ack 717 
win 31740 <nop,nop,timestamp 413474356 224486105> (DF)
14:14:29.072718 < 10.0.1.23.1133 > 192.168.1.30.www: F 717:717(0) ack 298 
win 6432 <nop,nop,timestamp 224487724 413474356> (DF)
14:14:29.072758 > 192.168.1.30.www > 10.0.1.23.1133: . 298:298(0) ack 718 
win 31740 <nop,nop,timestamp 413474356 224487724> (DF)

and port 8009:

<nop,nop,timestamp 413472737 413472735> (DF)
14:14:12.880013 < 127.0.0.1.4453 > 127.0.0.1.8009: . 671:671(0) ack 74 win 
31072 <nop,nop,timestamp 413472737 413472735> (DF)
14:14:12.880027 > 127.0.0.1.8009 > 127.0.0.1.4453: P 74:80(6) ack 671 win 
31072 <nop,nop,timestamp 413472737 413472737> (DF)
14:14:12.880027 < 127.0.0.1.8009 > 127.0.0.1.4453: P 74:80(6) ack 671 win 
31072 <nop,nop,timestamp 413472737 413472737> (DF)
14:14:12.900014 > 127.0.0.1.4453 > 127.0.0.1.8009: . 671:671(0) ack 80 win 
31072 <nop,nop,timestamp 413472739 413472737> (DF)
14:14:12.900014 < 127.0.0.1.4453 > 127.0.0.1.8009: . 671:671(0) ack 80 win 
31072 <nop,nop,timestamp 413472739 413472737> (DF)
---here's the stall point---
14:14:29.111568 > 127.0.0.1.4407 > 127.0.0.1.8009: P 
3705858527:3705859103(576) ack 3692382751 win 31072 <nop,nop,timestamp 
413474360 413469650> (DF)
14:14:29.111568 < 127.0.0.1.4407 > 127.0.0.1.8009: P 0:576(576) ack 1 win 
31072 <nop,nop,timestamp 413474360 413469650> (DF)
14:14:29.116181 > 127.0.0.1.8009 > 127.0.0.1.4407: P 1:46(45) ack 576 win 
31072 <nop,nop,timestamp 413474360 413474360> (DF)
14:14:29.116181 < 127.0.0.1.8009 > 127.0.0.1.4407: P 1:46(45) ack 576 win 
31072 <nop,nop,timestamp 413474360 413474360> (DF)
14:14:29.116287 > 127.0.0.1.8009 > 127.0.0.1.4407: P 46:3918(3872) ack 576 
win 31072 <nop,nop,timestamp 413474360 413474360> (DF)

Here are the mod_jk logs with debug turned on (it is still slow in error 
logging mode):

[Wed Sep 26 14:45:12 2001]  [jk_ajp13.c (560)]: ajp13_unmarshal_response: 
status = 302
[Wed Sep 26 14:45:12 2001]  [jk_ajp13.c (567)]: ajp13_unmarshal_response: 
Number of headers is = 3
[Wed Sep 26 14:45:12 2001]  [jk_ajp13.c (610)]: ajp13_unmarshal_response: 
Header[0] [Content-Type] = [text/html]
[Wed Sep 26 14:45:12 2001]  [jk_ajp13.c (610)]: ajp13_unmarshal_response: 
Header[1] [Location] =
+[http://192.168.1.30/gcpay/main.jsp]
[Wed Sep 26 14:45:12 2001]  [jk_ajp13.c (610)]: ajp13_unmarshal_response: 
Header[2] [Content-Length] = [167]
[Wed Sep 26 14:45:12 2001]  [jk_ajp13_worker.c (256)]: received from ajp13 
#2
[Wed Sep 26 14:45:12 2001]  [jk_ajp13_worker.c (518)]: Into 
jk_endpoint_t::done
[Wed Sep 26 14:45:31 2001]  [jk_uri_worker_map.c (343)]: Into 
jk_uri_worker_map_t::map_uri_to_worker
[Wed Sep 26 14:45:31 2001]  [jk_uri_worker_map.c (360)]: Attempting to map 
URI '/gcpay/main.jsp'
[Wed Sep 26 14:45:31 2001]  [jk_uri_worker_map.c (407)]: 
jk_uri_worker_map_t::map_uri_to_worker, Found a suffix match ajp13
+-> *.jsp

[Wed Sep 26 14:45:31 2001]  [jk_worker.c (123)]: Into wc_get_worker_for_name 
ajp13


In case you didn't somehow figure out I am running ajp13. Any suggestions or 
places to look would be great. I also wondered if tomcat was maybe 
re-compiling those pages during a post operation? BTW here's my mod_jk.conf:

LoadModule jk_module /usr/lib/apache/mod_jk-eapi.so.new
AddModule mod_jk.c

JkWorkersFile /home/gcpay/jboss/tomcat/conf/workers.properties
JkLogFile /home/gcpay/jboss/tomcat/logs/mod_jk.log
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "


#
# Log level to be used by mod_jk
#
JkLogLevel error

JkMount /gcpay/*.jsp ajp13
JkMount /gcpayadmin/*.jsp ajp13
JkMount /gcpay/*.css ajp13
JkMount /gcpayadmin/*.css ajp13

#
# Allow images to be access without going through the ajp12 connector
Alias /gcpay/images /home/httpd/html/gcpay/images/
<Directory /gcpay/images>
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Alias /gcpayadmin/images /home/httpd/html/gcpay/images/
<Directory /gcpayadmin/images>
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Alias /gcpay /home/httpd/html/gcpay/index.html
Alias /gcpayadmin /home/httpd/html/gcpay/index2.html

Thanks
-Robert Grey

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp

Reply via email to