Finding Performance Bottlenecks in Your J2EE Application
The other session I went to this morning was about performance bottlenecks in J2EE apps. This was a fascinating look into some of the problems that the Sun team have encountered and how you go about diagnosing them. I think as Java developers we're sometimes too shielded from the underlying operating system and it was great to see that OS level tools (like top, iostat, mpstat, etc on UNIX) can be useful in diagnosing what's going wrong. For example, a high degree of system CPU usage may indicate that your app is calling out to the OS too much, perhaps for writing to disk.
They also talked about the benefit of using thread dumps to figure out threading and synchronization problems. On Windows, I think you get a thread dump by doing Ctrl-Break. How do you do this on a Mac?
Simon is a hands-on software architect who works within