Last week, we had the author of TDD for a Shopping Website LiveProject. Friday at 11am Ranch time, Steven Solomon will be hosting a live TDD session just for us. See for the agenda and registration link
When dealing with performance issue the best approach is "Divide & Rule"
Separate out individuals modules and note the time taken by each module as your request flows thru the application.
1. Check the time in server logs taken for each module. Best thing is to log em.
2. DB calls should be timed separately . (Run the query stand alone directly in DB and record the time)
3. Try to isolate any network problems.
4. Memory issues can also lead to slowness. Adding JVM logging and check the logs for any Major GC events.