httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jess M. Holle" <je...@ptc.com>
Subject Re: Apache 1.3.x and 2.0.x Performance Issue
Date Thu, 29 Aug 2002 16:54:57 GMT
Clay Webster wrote:

>Jess, 
>
>Were IIS and Tomcat on the same windows hardware as 
>the Apache httpds?  Are you seeing network issues
>(e.g.- rexmits) -- you might have them everywhere, but 
>your Solaris may not be configured well (ndd,MTU,etc).
>  
>
Jason Kissinger (jkissinger@ptc.com) responded:

> It isn't network hardware issues (rexmits).  All Windows server tests 
> were against same Windows 2000 server, though it's also been reported 
> against Windows NT.  The Solaris clients are the out-of-the-box 
> settings, with acceptible performance against both IIS (bleh!) and the 
> Tomcat built-in webserver.
>
> We were thinking it was problem with Nagle algorithm not being 
> disabled, but snooping for setsockopt via a strace tool for Windows 
> shows that TCP_NODELAY is being set.  I don't know Windows enough (at 
> all!) to know if this is sufficient, or if a win32 api also needs to 
> be called directly.  It still appears to be deferring ACK even though 
> TCP_NODELAY should be set.  Changing the tcp_deferred_ack_interval on 
> the Solaris client improves performance, but that isn't an acceptable 
> work around, and probably hurts performance for apps that'd prefer to 
> delay ACK, especially in a WAN.  The default on our Solaris boxes seem 
> to be 20.
>
> Another oddity is that when retrieving a resource through Tomcat and 
> mod_jk (possibly mod_jserv also, but haven't verified that), the 
> performance is better, despite the additional hops and overhead of 
> retrieving resource through java process.  I see similar performance 
> for all server OS' with this config.
>
> wget 8mb file from server:
>
> -1.3.x Apache through mod_jk on Windows:
>    o client on Solaris:  1MB/sec
>    o client on Linux: 1MB/sec
> -1.3.x Apache on Windows:
>    o client on Solaris:  80K/sec
>    o client on Linux:  8MB/sec
>
> Our thought is that mod_jk/Tomcat has response buffer larger than TCP 
> floating window, thus the server is never stuck with a partial tcp 
> fragment awaiting an ACK.
>
> Windows clients hitting Solaris servers does not exhibit this problem. 
> Only Solaris clients hitting Windows servers.  I'm unsure if other 
> UN*X have this problem, Linux and Windows does not.  And Solaris 
> client hitting anything but Windows works fine.  We have some HP/UX 
> boxes that I could build wget on to test as clients, if that would be 
> helpful.

In short there really is something screwy with the way Apache on Windows 
interacts with Solaris clients.

--
Jess Holle


Mime
View raw message