This is basically a question of optimization. The cardinal rule of optimization is measure first, then fix. You'll want to do what's already been suggested and log the time between each database call, as well as at the very beginning of the page and end. This way you can determine which calls seem to take the longest. I would run it repeatedly to get a good idea. Then, you'll need to start fixing each of the queries. This could involve adding indexes to the database (if you have that much control) which would fall under schema design. It could also be just straight query optimization. Those are issues however, that can be resolved. As was also mentioned earlier, you could go the route of stored procedures, which sometimes give a decent performance
boost, but my guess is you're either missing indexes, have a TON of data, or have slow queries. Those are the places I'd look to start.