On 4/3/06, Tp <[EMAIL PROTECTED]> wrote: > Hi, > > we have to develop a high performance chat based only on HTML and HTTP > only for a television company. The biggest issue is performance. The > chat's output window requires one open HTTP connection per client. This > means, that when you have 3000 people following the chat that the server > has to be able to handle 3000 simultaneous ie. open HTTP connections. > > I have read some old benchmark tests. In those Tomcat does not get a > very good rating compared to other servers like JRun, BEA and others, > since it does not use NIO or some native methods. I guess I could try > just to open 3000 threads on my machine which write some output and see > how it's doing but I guess that does not really tell me anything reliable. > > So I was wondering if anybody can really tell me what Tomcat's (5.5) > limit is on this? How many simultaneous HTTP connections can Tomcat > handle and still respond in such a way, that the application stays > useable. I assume that the machine runs on a Pentium 4 3.2 Ghz with 1 GB > of RAM under linux and that all the file descriptor limits are set to > the maximum. > > The second question I have is, that lets assume the limit of a single > tomcat instance is at 2000 connections, how could I use a cluster and > loadbalancer to increase the total amount of simultaneous HTTP > connections of the "Applicaiton" and this really possible? Does anybody > in here have pratical experience for a live production system, which is > in use and handles many HTTP connections?
Neither the HTTP protocol (of course, since you control the network environment, you cannot run into trouble with proxies), nor the Servlet API have been designed to be used to do biderectional asynchronous communication and forever running service methods (what you're actually doing in that case is running your own protocol on top of HTTP), and in that case, there's no solution except using a large amount of threads. I don't know if you're aware of it, but the SIP protocol (and the associated SIP Servlets specification) has been designed for exactly this sort of usage, and using it or a similar custom protocol may be a lot better than trying to hack stuff. OTOH, OSes like recent Linux versions have no problem with lots of threads (like 5000) as long as threre are enough resources, so you could test that solution and see how it works. -- xxxxxxxxxxxxxxxxxxxxxxxxx Rémy Maucherat Developer & Consultant JBoss Inc xxxxxxxxxxxxxxxxxxxxxxxxx --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]