Remy Maucherat schrieb:
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.

Yes, you are right on the point! However, the Servlet API could have been developed in such a way that it only uses a single thread for several connections. I have written a java http proxy, which handles multiple open http connections using just a single thread. And it performs really well.

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.


No, never heard about it. Sounds interesting. But I don't think it will solve my problem handling a large number of open http connections simultanesously, or will it?

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.


Yes, but maybe somebody else already has and can tell me;) By the way I'm using JBoss for all other projects, promoted it in my former company and I think it's a great product! What do you think about glassfish and geronimo?


yours,
Tim
--
xxxxxxxxxxxxxxxxxxxxxxxxx
Rémy Maucherat
Developer & Consultant
JBoss Inc
xxxxxxxxxxxxxxxxxxxxxxxxx

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



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

Reply via email to