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 ([EMAIL PROTECTED]) 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
--- Begin Message ---
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.
Jess M. Holle wrote:
> ????
>
> ------------------------------------------------------------------------
>
> Subject:
> RE: Apache 1.3.x and 2.0.x Performance Issue
> From:
> Clay Webster <[EMAIL PROTECTED]>
> Date:
> Tue, 27 Aug 2002 13:49:15 -0700
> To:
> "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
>
>
>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).
>
>--cw
>
>-----Original Message-----
>From: Jess M. Holle [mailto:[EMAIL PROTECTED]]
>Sent: Tuesday, August 27, 2002 4:30 PM
>To: [EMAIL PROTECTED]
>Subject: Re: Apache 1.3.x and 2.0.x Performance Issue
>
>
>Ian Holsman wrote:
>
>Jess M. Holle wrote:
>
>Both Apache 1.3.x and 2.0.x suffer a severe perfomance issue when the server is on
>Windows and the client is Solaris (and perhaps others).
>
>Before you stop reading this as simply "we know Windows does not perform well", I
>should point out that this does not occur when the client is Windows or Linux, nor
>when the server is on the same Windows box but is IIS or Tomcat (standalone)!
>
>Some rough download speeds:
>
> * recent Apache 1.3.x on Windows:
> o client on Solaris (8): 80K/sec
> o client on Linux or Windows: 8MB/sec
> * recent Apache 2.0.x on Windows:
> o client on Solaris (8): 120K/sec
> o client on Linux or Windows: 8MB/sec
> * IIS on Windows
> o any client tried: 8-9 MB/sec
> * Tomcat (standalone) on Windows
> o any client tried: ~8MB/sec
>
>
>just out of interest does the same thing happen when we have a solaris server and a
>windows client?
>I'm not sure. I've not yet tried that (and actually another engineer ran all these
>tests). I also just noticed that I got some numbers slightly wrong:
>
>Apache 2.0.39 on Windows
>
>client on Solaris (8): 649 K/s
>client on Linux: 9.1 MB/s
>
>[I've appended this amended info to the bug report.]
>
>--
>Jess Holle
>
>
>
--- End Message ---