The 64.225.156.250 is the IP address that apache httpd and tomcat are running on. To me it looks as if there is a 'default' host that those 'GET /' requests are being handled by. I assume that VHost is the virtual host within tomcat that actually handled the request, based on the <Host> definition in server.xml.

To me, VHost should only ever show the name of the configured <Host> elements.

I will try the thread dump on the weekend when the site is less busy.

Cheers,
Ian Long
Chief Software Architect, Opterus Inc.

Email: ian.l...@opterus.com
Phone: 416-840-8495 x666
Mobile: 416-817-9206
Web: http://www.opterus.com




On 6-Mar-09, at 3:58 PM, Rainer Jung wrote:

On 06.03.2009 21:02, Ian Long wrote:
I have fixed the problem by stopping the https ping so that these stuck processes don't happen, but am digging into the problem a bit further.

I think you are right that it's apache waiting for tomcat to send data
back for the request, because if I look at the tomcat manager
application, I have entries like the following:

Stage Time B Sent B Recv Client VHost Request
S 28515259 ms 0 KB 0 KB 216.25.10.81 64.225.156.250 GET / HTTP/1.1
S 16878407 ms 0 KB 0 KB 76.64.59.226 ops-center.opterus.net GET
/login.faces HTTP/1.1

The VHost lists the ip address 64.225.156.250 instead of
ops-center.opterus.net as it does for 'proper' access.

The relevant bit of tomcat config:

<Engine name="Catalina" defaultHost="ops-center.opterus.net">
<Host appBase="webapps" name="ops-center.opterus.net" unpackWARs="true"
autoDeploy="false" deployOnStartup="false" >
<Context path="" allowLinking="true" docBase="ops-center-application"
debug="0" reloadable="false" >
<Manager className="org.apache.catalina.session.StandardManager"
pathname="" />
</Context>
<Context path="/manager" docBase="manager" debug="0" privileged="true"
reloadable="false" />
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="ops-center.opterus.net." suffix=".txt" timestamp="true"/>
</Host>

<Host appBase="webapps" name="webservice.ops-center.opterus.net"
unpackWARs="true" autoDeploy="false" deployOnStartup="false" >
<Context path="" allowLinking="true" docBase="ops-center-webservice"
debug="0" reloadable="false" >
<Manager className="org.apache.catalina.session.StandardManager"
pathname="" />
</Context>
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="webservice.ops-center.opterus.net." suffix=".txt"
timestamp="true"/>
</Host>

My JkMount is straigtforward:

JkMount /* ajp13
jKMount / ajp13

Since the defaultHost is ops-center.opterus.net, I would assume they
should all go to that host, and not /.

From all that I have read this looks like it is setup correctly, but
why is VHost 64.225.156.250 (I'm not even sure what that is) receiving
the 'GET /' request?

You can check what this IP resolves to, and also what your VHost's name resolves to with nslookup:

nslookup 64.225.156.250
nslookup ops-center.opterus.net

I didn't check, what the manager actually displays in the VHost column, but it's also possible, that it shows the string from a host header, that might have been part of the request, like

GET / HTTP/1.1
Host: 64.225.156.250
Connection: Keep-Alive

You can send such a request to any host, not just 64.225.156.250. But it is only speculation, that the manager VHost column might show the name from the host header.

You can log a host header in your Tomcat access log (also in the httpd access log) by extending the log format with "%{Host}i".

Anyways: the strange IP doesn't really explain, why those requests get stuck. And even though you now stopped those, it sounds bad, that you can fill up your app that easily with a lot of hanging requests. If you can reproduce I definitely recommend using a thread dump (kill -QUIT against Tomcat) to check what those threads are doing (results in catalina.out).

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to