Hi Peter,

Yes, I'm running Tomcat on a windows server, but I'm not in a production environment yet.

What do you mean with "inbounds connections"?
I could test that sending requests every 20ms there were around 200 sockets in the system (with netstat command)
My problem is when the requests reach very quickly to the server, and it responses with java.net.Connection Exception very early.


Thanks for the calculations, but more exactly I want the server to attend 1000 requests/second. I mean I don't want any of those requests to be rejected. It's probably the response time were several seconds, but with better hardware I could manage that.

Any way, where could I look this "inbound limit" in a Windows system? Maybe that is a hint to find de final answer.

Thanks,

Jorge Sopena

Peter Lin wrote:

just out of curiousit, you're running Tomcat on windows server right?

in the even you're using windows professional, it is limited to 10
inbound connections, which is easy to overlook and forget.

I've easily gone over 1000req/sec for static files. For real pages
that hit the database, that's another story. Unless you're doing some
caching on the web tier, it's unlikely a 4CPU database server can
handle that many queries per second. The only way a webpage that gets
data from the database for every request to reach 1000 req/sec is if
the queries themselves take 50ms or less.

on a 4 cpu box
1000ms/50ms = 200 queries/second
200 queries/sec X 4 = 800.

Does that help?

peter


On Tue, 14 Sep 2004 17:38:20 +0200, Jorge Sopena <[EMAIL PROTECTED]> wrote:


Hi everybody,

I'm having a problem with the maximun connections in Tomcat.
In theory, the number of connections accepted by Tomcat is determined by
the <Connector> elements in the server.xml configuration file. The
maxProcessors attribute sets the total number of threads that can run
simultaneously and the acceptCount attribute controls the number of
requests that may be queued waiting for a connection.

I've done my own program to send hundreds of requests concurrently, but
the response in the majority is
"Exception:java.net.ConnectException:connection refuse"
I did several tests, and I realized that if I send a request each
20mseconds I can send around 200 requests without problems.
But if I send, for example 20 requests uninterruptedly, 4 or 5 requets
are rejected with java.net.ConnectException.
If I increae the number of requests the problem is even worst.

I'm using tomcat 5.0, and the configuration in my server.xml is:
<Connector port="8080"  maxThreads="300" minSpareThreads="25"
maxSpareThreads="75"
             enableLookups="false" redirectPort="8443" acceptCount="100"
             debug="0" connectionTimeout="20000"
             disableUploadTimeout="true" />

So, is the problem because of Tomcat and I should configure anything
else? or
should I customize something in the JVM or Windows?

My goal is to be able to serve 1000 requests/second. Any hint how to do it?

Thanks, in advance.

Jorge sopena





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





-- ============================================================== Jorge Sopena Torres SIDSA (Semiconductores Investigación y Diseño, S.A.)

Parque Tecnológico de Madrid
c/ Torres Quevedo, nº 1
28760 TRES CANTOS (Madrid) (SPAIN)

Phone : +34 91 803 5052
Fax:    +34 91 803 9557

e-mail: [EMAIL PROTECTED]
URL: http://www.sidsa.com

==============================================================



Reply via email to