If you can get resonable performance from static pages (RAM disk?) and most of the content is "semi dynamic" you can set up a periodic job that generate static pages from the database weekly, daily or hourly. Most dynamic sites I visit (that often gets me sql errors or other annoying error message because of the dynamic code) are not dynamic by nature at all. They use a SQL database for content management and there is no need to regenerate the page each time each visitor visit a page.
Keeping most of the site static also makes it more simple to set up automatic daily tests to validate the HTML, validate links, validate the CSS, check for constructs that break on some browsers etc.
If you can get resonable performance from static pages (RAM disk?) and most of the content is "semi dynamic" you can set up a periodic job that generate static pages from the database weekly, daily or hourly. Most dynamic sites I visit (that often gets me sql errors or other annoying error message because of the dynamic code) are not dynamic by nature at all. They use a SQL database for content management and there is no need to regenerate the page each time each visitor visit a page.
Keeping most of the site static also makes it more simple to set up automatic daily tests to validate the HTML, validate links, validate the CSS, check for constructs that break on some browsers etc.