Tags
black swan business caching cdn Collaboration Content Management customer underground daas dbpedia ddu ddu2012 drupal Drupal Uriverse DBpedia Solr facebook gpl hosting location mailchimp mapping mercury mobile modules multisite PayPa performance plugin pressflow progressive enhancement Publishing randomness ratings rdfa responsive web design reviews saas scalability semanticweb Social Subscription themes topicmaps uriverse wikipedia wordle wordpress


Drupal Hosting Environment (part 4)
Sometimes the server environment must be taken as a given and we must work within the bounds of what has been provided. Moving servers can be a time consuming process and not something you wish to do if it can be avoided. It’s best to make the right decisions up front ensuring you have room to grow if needed. Opting for a shared hosting plan can limit the resources available, the control you have as well as ability to grow.
Shared Hosting
Shared hosting plans are cheap ($5 per month and up) and it is possible to run small to moderate Drupal sites on them successfully if you take a few precautions. However, they do come with limitations which can make performance optimization difficult.
RAM and CPU throttled
Drupal is a system which can be heavy on system resources, especially RAM, and so running it on shared hosting can be a challenge in some situations. In many cases a relatively minimal Drupal install will exceed maximum limits enforced by your hosting company. In these cases you will receive a polite letter telling you to fix your site or else you can upgrade to a dedicated server. Don’t worry. See Out of the box for some quick and easy wins on shared hosting plans.
Servers set up like this often have oversold the box you are hosted on and you will be at the mercy of other users who might be exceeding their allotment. Your performance will be adversely affected in these cases. YMMV.
Limited control
The major downside of shared servers is the limited control you have over the hosting environment, leaving you with relatively few options to improve performance. Luckily Drupal has some handy features built in which make it possible to improve speed, memory and CPU. These are dealt with in more detail below.
It is possible to find good virtual hosting plans for around $20 to $30 a month and it is recommended to give these a try if you desire more control over your installation. You must be comfortable with server admin to do this though so it isn’t everyone’s cup of tea: partitioning, installation, configuration, security, certificates, SVN, backup, mail, monitoring, etc. Linode (contains affiliate id) is well respected in the Drupal community and is often recommended for virtualized servers.
Dedicated and Virtual Hosting
Obviously a lot of options are opened up when you move across from shared hosting to a dedicated or virtual setup. Full access to the server means that you are able to implement all of the options discussed in this guide. You all so have the freedom to implement systems which scale out allowing a number of different configurations, including load balancers, multiple web servers, master-slave databases, memory sharing for caches, etc..
This guide doesn’t examine these techniques in any detail as it is mostly focused on getting the most performance possible out of a single box. Many Virtual hosts allow your to scale up to a new plan, unlocking more memory, disk and processor without any other system changes.
Comparison of Major VPS Providers
Another option for those looking to scale their hardware with virtual servers is to go with a service such as Amazon Elastic Compute Cloud (Amazon EC2).
The main difference between EC2 and other virtual solutions such as SliceHost and Linode, is that EC2 is able to scale out to new servers when demand requires it. This could be an attractive option for admins who expect large and fluctuating flows of traffic. Project Mercury is a Pressflow image for deployments to EC2 and is discussed later.
Hosted Drupal
Hosted Drupal is a final option for those who want a great setup with quality management without the maintenance hassles for a monthly fee. As the Drupal community matures hosting solutions are beginning to appear. Hosted plans should offer you a range of scaling options without any further setup required.(If your company isn’t listed here please let me know.)
This article forms part of a series on Drupal performance and scalability. The first article in the series is Squeezing the last drop from Drupal: Performance and Scalability.