There are many things you can do to speed up your website. This article focuses on practical things that I used, without any spending money on additional hardware or commercial software.
http://tr.im/xs6y
- Cache PHP output
- Create turbo charged storage
- Leave heavy processing to cronjobs
- Optimize your database
- Save some bandwidth
- Store PHP sessions in your database
About PHP sessions and DB usage I would like to add something: do not use them unless you really need them! Start php sessions and open db connections when needed. Do not put them in the boostrap/frontend file.
HTTP is stateless, try to keep your site/application the same, it makes caching and load balancing a lot easier.
In some context, site content related to user sessions can be loaded using ajax. And DB data can be cached into memcache.
You may also consider stracing your web processes to optimize disk usage. E.g. your Apache could be configured to look for index.html and index.htm everytime the homepage is called. See DirectoryIndex.