I recommend that you should do some experiments on your development network to try to determine the cause of the problem and benchmark possible solutions.
Otherwise, you're fumbling in the dark, possibly adding heaps of complexity needlessly.
Have a look at something like "Selenium" or some Apache Java web load testing thing (I've forgotten its name). Run these on your simulated clients.
Then take the a slow(ish) box to be your simulated server (make sure it has fast ethernet though and your simulated clients are as fast as possible).
Hopefully you can replicate the performance problem on your dev network. You can then try out fixes to get real data on how much effect they have.
I would normally suggest immediately upgrading the server to as much memory as the motherboard supports (as it's REALLY cheap), and then finding if you still have a problem.
Mark