Access logging is a big performance hit. I can't remember where that is in the Geronimo console; however, you definitely need to disable it.
As for tuning, I would generally try to keep you db connection pool size equal to the number of threads serving page requests. Once again, I'm not as familiar with Geronimo tuning but assume it can be found somewhere in there.
If you are looking for a resource, I believe Matt Hogstrom published a Geronimo performance report for GMO 1.1.1 and has a draft for 2.0.2 that details the tuning he used for his tests.
You can most definitely create a larger DB population size. As a matter of fact, I highly suggest that for any performance measurements. I typically try to populate the database with the following...
# accounts = 10 x the number of concurrent clients
# quotes = half the # accounts
Also, when writing your load driver scripts and setting up your tests, I would make every effort to ensure that two clients are never logged in with the same userid at the same time. The benchmark is written to handle concurrency with quote updates fairly well, but is not as forgiving with the accounts and orders.
Hopefully this helps...
I got Daytrader to work from the Daytrader trunk on Apache Geronimo 2.0.1. I run vmstat and see that I'm about 94% idle. I'm certain there's a synthetic bottleneck in here, but I'm not good at tuning Apache Geronimo. I was hoping for some help squeezing more out of this system.
I'm running the application server on SLES10 SP1 rc5 I've kicked it off with JVMs from Sun, IBM, and BEA. My database side is a DB2 database that has loaded much more than this before. I also have a load generator running that is just about twiddling its thumbs. I get about 100 pages per second tops, regardless of JVM. There are gigabit connections between everything on a private switch.
I've noticed that every URL access is getting logged to disk. Is there a way to shut that off? I was curious how much that could be slowing me down.
Outside of that, I don't understand how the thread pools are working in Geronimo. The DB pools are pretty straightforward, and I have a maximum of 150 connections; I tend to keep as many DB connections open as I would simultaneous clients.
I also notice the load size for Daytrader is rather small. Can it create a larger database profile? I fear that with 200 users and 400 stocks that I will have synchronization delays with the database. I don't think that's what is holding me off here—yet.
Any help would be appreciated. I thought I sent a subscribe message to the server, but I haven't heard any confirmation messages or anything else yet.