Peddireddy,

> your mail is very informative.
> we have a very similar set up (4 Xeon processors 3.5 GB Ram and
> WIn2003 Standard edition) and hardpart is that we cant change this
> setup and switch to Linux. 

same problem over here. The computing centre of our client can't provide
Linux servers. I'm struggling with this problem for 3 weeks now.

> I heard about clustering on diferent boxes. Is the process of running
> multiple tomcats on a single machine will be same??

My experience was that with a single Tomcat on a large machine, you'll
never use that box fully. Besides that you can't get the Sun JVM to
accept a large amount of threads while giving them enough memory, Tomcat
seems to have performance problems with 3000+ threads busy at the same
time. The BEA JVM (JRockit) performs better in terms of memory and
threads but is slower than the Sun JVM. If you have rather complex
database operations performed by your webapp, this will get you into
trouble, because if there is a single bottleneck in the whole system,
the requests will pile up in the server, it hits its thread limit, and
ceases operation.

So, I have made good experiences with 4 Tomcats on a 2xXeon with 4GB.
The server's load is somewhere between 70% and 100% while running with
high load and can handle more concurrent requests than a single Tomcat.

> You talked about some "workarounds using esoteric registry keys", can
> you eloborate on this or tell me where I can get details about it and
> the details about limitations placed by windows2003  on a single
> process in terms of number of threads, memory etc.

We use 2003 Standard Edition and get the following limitations:

 . Windows only provides 2GB memory to all applications running,
   regardless of how much memory you have. All other memory is used for
   Windows itself. With a registry key, you can extend this to 3GB. I
   don't have the key handy, but it can be found in MSDN.

 . The somewhat larger problem is the crappy TCP stack on Windows. A
   single Tomcat easily handles 1000 concurrent connections, but if I start
   4 Tomcats, I get a WSAENOBUFS error ("An operation on a socket could not
   be performed because the system lacked sufficient buffer space or
   because a queue was full") at about 3300 concurrent connections.
   Because each Tomcat runs with his own instance of the JVM, I suppose
   the problem is Windows, the network or anything else that is used by all
   Tomcats at the same time. Even worse, after such a crash, there is a
   10% chance, the Tomcats not resuming normal operation but crashes
   completely.

 . Windows has a default limit of 5000 ephemeral ports that can be used 
   fo outgoing connections. This can be changed with the MaxUserPorts
   registry key. Also, the TcpTimedWaitDelay key is relevant for network
   performance. Both are described here:

   
http://msdn.microsoft.com/library/en-us/randz/protocol/tcp_time-wait_delay.asp

I'm now really irritated by this problem. I need a capacity of about
15000 concurrent connections for my project. I also have 3 2xXeon
servers here, but windows (or anything else) doesn't allow more than
~8000 connections until it dies.

-- Michael

-- 
Dipl.-Technoinform. Michael Kleinhenz
tarent GmbH . Bahnhofstr. 13 . 53123 Bonn
fon +49 (228) / 52 67 5-0 . fax +49 (228) / 52 67 5-25

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to