What is the simplest two web server, single DB load balancing?
Will this work for community out-of-the box?
I assume, at minimum, I would have to store sessions in the database rather than filesystem?
Any other considerations?
The simplest server would be the following:
1 Load Balancer
2 Web Servers
1 DB server
As far as session storage goes, it is not recommended to store in the Database. While it is fully supported, it places an additional load on the DB. Redis or Memcache would be better suited for this task. They are also fully supported out of the box for Community Edition.
A couple of tips:
mod_php
, mod_expires
, mod_deflate
, mod_mime
, mod_dir
, mod_authz_host
, and mod_authz_user
. innodb_buffer_pool_size
, query_cache_limit
, query_cache_size
, thread_cache_size
, max_connections
, and thread_concurrency
. A few more tips (your results may vary):
AllowOverride All
and place your .htaccess values inside of your VirtualHost
configuration for apache (fewer file requests). There are guides available from Magento to give you more details about configurations: http://www.magentocommerce.com/whitepaper/
Centralized cache and sessions. Magento comes with optional Redis storage backends for those. Only one node can run updates. Parts of or all of media may need to be shared because of just in time image resizing and or JS/css merging (the generated result may be requested from the other server).
Those are the key issues I can think of, let us know if you have specific questions.