Jonathan,
I've had minimal improvements changing jvm properties, I've looked at
increasing the heap size to around 512Mb, there's around 1Gb of
memory on the server so that should be more than adequate for tomcat.

This seems like a very reasonable setting.


The problem
we have is that 100 users are obtaining the test from the database at
roughly the same time.

How long does it take to retrieve the test from the database under normal load? How about peak load? What I mean is, how long does the "SELECT", or series of selects take?


How much data are you pulling all at once? Do you *have* to pull it all at once? It's often helpful to read a little at a time, to spread-out the burdon of loading lots of data.

What about caching? How often does the test change? If the answer is "rarely", you might want to cache the test in memory -- that'll seriously reduce your wait time...

I think part of the problem is that Tomcat cannot process the
requests fast enough at present for 100 users, if I set a
connectionTimeout limit then half of the 100 students get 404 page
not found errors when trying to access a test hence the -1 setting.

Again, I'd say you should try benchmarking smaller things than just wall-clock time for a request under load. Find out how long the database is taking to respond. It's very likely to be your bottleneck.


Also, realize that you can have a million request handler threads accepting connections, but if they all need a connection from a connection pool containing only 5 connections, they're going to wait a long time...

-chris


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



Reply via email to