What can we do to optimize User App performance?

The machine I am developing on is in a VM (though with 4GB of RAM, and
3Ghz of CPU in ESX), running eDir for the lab, and is not the best
choice for performance.

But it is really really slow even so. I.e. eDir is fine, IDM is fine on
this hardware, but UA is really crawling on simple approvals.

Is the bottleneck usually CPU, RAM, or Disk? Are there tuning options
to make it run faster? Etc...