Your next dedicated solution. Growing smart.
Your dedicated server suffer from overload? It’s time to get bigger! The good step forward is 2 web + 1 database server. If you do not want to split media content and dynamic pages between different servers, you probably need loadbalancer.
1. Regular (Non-loadbalanced) setup looks fairly simple:
Web server #1 - hosting dynamic pages: Apache 2+ (mod_security) , PHP 5.1+ (APC), state data can be kept in shared memory
Web server #2 - hosting static and media data: lighttpd
Database server - MySQL 5 or Postgres 8+
2. Loadbalanced setup is more tricky:
Web server 1/2 - Apache 2+ (mod_security) , PHP 5.1+ (APC, session_mysql or session_pgsql - for sharing session data between 2 webservers)
Database server - MySQL 5 or Postgres 8+, memcached - useful shared storage for state data
Further perspectives:
Regular solution will definitely evolve to loadbalanced setup.
- Adding more webservers
- Adding database cluster
- Separate static cache/media server at some point