Caldarale, Charles R wrote:
"The only time I began to see the other cores actually start being used is when I
enabled multi-threaded GC. But that doesn't give much improvement since the threads
responding the web requests are still all on the same core."
The most likely cause is internal synchronization in the webapp or the database
it references.
I've heard similar from someone else but I'm not sure how that's
possible. The app is not at all threaded, is 100% read-only from the
database (aside from creation of temp tables which have no interaction
between client requests) and the MySQL server is on another machine
humming along without any bottlenecks that I can see.
But of course I'm not a Java or JVM expert and have no idea what kind of
interlinks can exist between different client connections. But to my
knowledge they're all pretty straight forward handlers, "get data from
database, format, return to user"
I'm leaning more towards GC issues. I setup Tomcat on a 64-bit machine
and tried a few configurations:
-Xms4096M -Xmx4096M -server -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC
-Xms4096M -Xmx4096M -server
-Xms2048M -Xmx2048M -server
As I went through each of those the app became more and more sluggish
and a single core finally in the last configuration did this 100% CPU
usage again.
Now, two issues I see. First, it's not being aggressive enough at
spreading the load among different cores. Second, GC does seem to be an
issue.
Unless I'm missing something, which I might be.
Thanks.
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]