So I've been trying to track down some performance issues with my applications on MVS, Unix and Windows. I'm not using any professional J2EE profilers yet, but a co-worker of mine wrote some perf logging stuff using Aspectwerkz' AOP stuff.

It bogs the app down, but I can get method level performance monitoring.

It's pretty tedious tracking down performance problems in a huge application.

So far, I've used Microsoft's Web Application Stress Tool. They released this thing years ago for free, and it's still about as good as Mercury's LoadRunner or Rational's load testing stuff. The advantage of MS' is that it is free and lightweight enough to run on any windows PC. It basically records HTTP scripts and runs them from 1-100 or so simultaneous "user" threads. It can kill any app pretty quickly and is useful for simulating a load on any app.

Any performance profiling tips are appreciated. Most of the stuff I've read is vague and stupid like "Look for memory leaks" or "Identify the bottleneck" blah blah blah.

I'm also reading David Mitchell's Ghostwritten and Rudyard Kipling's Kim. So far so good. Recommend something for when I finish these guys.