WEB CLUSTERS
The following are some of the solutions we offer. Keep in mind that every solution is specific to every client so the number of nodes in your cluster may vary according to your needs.

Dynamic Content Separated From Static Content
In this solution the nodes serving dynamic content are separated from the the nodes serving static content. The application servers handle all the dynamic content and the static content servers handle the request for content that hardly changes such as images, downloadable files, and static HTML pages. The application servers share session handling from the database and memory using memcached. Memcached is also used to increase performance by caching SQL queries. Depending on your needs you may have more static content servers than application servers. The application servers also cache query results to prevent a high query number on the database server. Memcached is shared between all application servers and optionally on the static content servers.
The load balancing across the different servers is done in different ways:
  • Round-Robin DNS: The requests are distributed across the different application servers and static content servers using a Round-Robin DNS approach.

    Advantages: Easy to setup. Existing applications can easily migrate to this solution. Application servers can equally distribute the load to static content servers.
    Disadvantages: DNS does not guarantee that the load will be equally distributed across all servers. Some browsers will cache the DNS entry and will contact the same server. If a server goes offline a DNS change will take up to multiple days to be reflected on browsers.


The application servers run PHP or Perl and memcached to increase performance by caching SQL queries. The static content servers run lighttpd or a light version of apache, and the database server runs MySQL. Contact us.

  • Dedicated Load Balancer: A server using commodity hardware is used to equally distribute the requests to the static content servers and to the application servers. In case of a server going offline, the load balancer detects it and stops forwarding requests to that server.

    Advantages: Load is distributed equally across all servers. Easy to setup. Existing applications can easily migrate to this solution. Application servers can equally distribute the load to static content servers. Fast failure detection.
    Disadvantages: Extra hardware is needed.


The application servers run PHP or Perl and memcached to increase performance by caching SQL queries. The static content servers run lighttpd or a light version of apache. The load balancers run LVS and the database server runs MySQL. Contact us.

Proxy Caches
In this solution, the proxy servers handle all the request and serve all the content. For the static content the proxy server just reads it from its local disk or an NFS share and rapidly outputs it back to the client. For dynamic content the proxy server generates a request to an application server and relays the output of such request back to the client. The application server may tell the proxy server to cache the output of the request for some period so on the next client's request the proxy server can serve the content without generating an extra request.
The load balancing across the different servers is done in different ways:
  • Round-Robin DNS: The requests are distributed across the different proxy servers using a Round-Robin DNS approach.

    Advantages: Robust solution that scales extremely good if application servers are developed proxy-server-aware.
    Disadvantages: DNS does not guarantee that the load will be equally distributed across all servers. Some browsers will cache the DNS entry and will contact the same server. If a server goes offline a DNS change will take up to multiple days to be reflected on browsers. Application must be changed to take advantage of caching capabilities.


The application servers run PHP or Perl and memcached to increase performance by caching SQL queries. The proxy servers run Squid Cache or Apache mod_cache, and the database server runs MySQL. Contact us.

  • Dedicated Load Balancer: A server using commodity hardware is used to equally distribute the requests to the static content servers and to the application servers. In case of a server going offline, the load balancer detects it and stops forwarding requests to that server.

    Advantages: Robust solution that scales extremely good if application servers are developed proxy-server-aware. Load is equally distributed across proxy servers.
    Disadvantages: Application must be changed to take advantage of caching capabilities.


The application servers run PHP or Perl and memcached to increase performance by caching SQL queries. The proxy servers run Squid Cache or Apache mod_cache, the load balancers run LVS and the database server runs MySQL. Contact us.
Copyright © E-Rigid, 2008