"All too often a single HTTP request will have 4 or 5 database queries in it, and that is regarded as normal."
Is this really normal for a Java app? A typical Rails app (either built by myself or someone else) would have tens of queries in a request and still complete in under 1s. That was my experience with PHP too.