Better performance tuning of a Site

I understand performance can be a real bottleneck to a database driven application. One of the major reason why performance drag a web application is by sending HTTP request to the database server multiple time. Just imagine everytime the page loads, the request is sent to the backend to collect data that goes together with the HTML page. The solution to this problem is to make only one or two calls to the back end and dump the data needed for the first instance (session) of an application on the server side for business logic and utilize caching, that way calls to the database are limited over time. The call can be made on a different thread too if you think that will drag down the performance of an application. The best solution is to avoid sending multiple requests to the database to retrieve data.