posted 20 years ago
Do you have memory leaks (i.e. does the java.exe process size grow constantly)? make sure that every ResultSet, Statement and Connection gets closed in a finally block (so if an exception occurs it gets closed anyway). If you don't explicity close Connections they may remain open, consuming valuable resources. Since you have Oracle, are you making use of the Oracle connection pool?
Check what gets stored in session variables, if you are using them. If they are storing tons of information they may be starving your system of memory. You may have to make some comprimises on what gets stored in the session or lower your session time-out.
If the problems aren't that obvious, use a profiler like JProbe or Optimizeit to find out what is consuming resources. They will also help identify processing bottlenecks.
Since you have high CPU utilization, make sure your hardware is up to the task. Enterprise systems require enterprise hardware. A "fast" PC with 256megs of ram just won't cut it if you have more than a few users.
You may want to split your database and application server onto two seperate machines. The network overhead shouldn't hurt too much and the computers won't waste time switching between the DB and the app server constantly.
[ February 10, 2004: Message edited by: Joe Ess ]