You should monitor the datasource pool, here you might use twiddle. Another way is to set a hard limit in a test environment, <blocking-timeout-millis> == 0 you will get an exception instead of slow down the application because of connection bottleneck.
Other canidate will be the GarbageCollector, here you can use the standard gc.log see
http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html (Java6 GC tuning)
http://www.tagtraum.com/gcviewer.html (nice GUI to analyze the GC.log)
For your application you migth use the admin console wich shows the number of calls and some statistics about your EJBs.
Also some general statistic logging within the application si helpful.
But all of this depends the structure of you app (JSP, EJB .....)
Do you have exprience using JON with the open source JBoss 4.2.3 GA Server?
Is it posible? Is there an guide describing the setup process for JON with JBoss 4.2.3 GA?
Or is there an better tool to analyse caching, thread & connection pooling?
No I havn't.
I think it is a posibillity, but I'm not sure whether you can use JON with a community JBoss because of the license.