Dedicated Servers vs. Virtual Servers

Dedicated physical servers are going to outperform virtual servers when it comes to network I/O, disk
I/O, and memory I/O, even in situations where the virtual server supposedly has been allocated more
resources (CPU, disk, and memory) than a dedicated server of similar specs. An important factor to
consider is that in a virtualized server environment, the CPU, disk I/O, memory I/O, and network I/O
have added I/O routing layers between the server OS and the actual hardware. And, therefore, all I/O
operations are subject to task scheduling whims of the host hypervisor as well as the demands of
neighboring virtual machines on the same physical host.

As a real example, a virtual server hosting a database server may have twice as much CPU power as a
cheaper physical dedicated server; however, the virtual server may also have an added 1ms network
latency (a very real example from an actual Xen virtualized environment), even between neighboring
virtual machines. Now, 1ms network latency doesn’t seem like enough latency to care about, until you
consider that a logged-in Drupal page request may involve hundreds of serialized MySQL queries; thus
the total network latency overhead can amount to a full second of your page load time. An added latency
of just one second per page request may also seem affordable; however, also consider the rate of
incoming page requests and whether this one-second delay will cause PHP processes to pile up in heavy
traffic, thus driving up your server load. Adding more and bigger virtual servers to your stack does not
make this I/O latency factor disappear either. The same can be said for disk I/O: virtual disks will always
be slower than physical local physical disks, no matter how much CPU and memory the virtual server
has been allocated.
Related Posts:
  • Defining a Block Blocks are defined within modules by using hook_block_info(), and a module can implement multiple blocks within this single hook. Once a block is defined, it will be shown on the block administration page. Additionally, a si… Read More
  • Drupal-Optimizations While most optimizations to Drupal are done within other layers of the software stack, there are a fewbuttons and levers within Drupal itself that yield significant performance gains. Page CachingSometimes it’s the easy thin… Read More
  • Create the Other Pages Now that I have my basic page structure down, it’s time to start looking at the other pages in my site. Working with the styles I’ve already created (and creating new ones as I need to), I’ll create the following pages in my… Read More
  • Dedicated Servers vs. Virtual Servers Dedicated physical servers are going to outperform virtual servers when it comes to network I/O, diskI/O, and memory I/O, even in situations where the virtual server supposedly has been allocated moreresources (CPU, disk, an… Read More
  • Drupal-based website Content is the primary building block of any website, whether it is constructed using Drupal or any other tool in the marketplace. Content is what visitors come to a website to find, and a lack of content is often the rea… Read More
  • XML-RPC A remote procedure call is when one program asks another program to execute a function. XML-RPC is astandard for remote procedure calls where the call is encoded with XML and sent over HTTP. The XMLRPCprotocol was created by… Read More
  • Single Node Pages with Sidebars The point of starting off your template with a node page that doesn’t have sidebars isthis: you will inevitably have a page like this somewhere on your site. And many designers,well-meaning as they are, end up forgetting thi… Read More
  • Drupal's SEO tips Tthe default SEO options in Drupal provide you with basic features you need, such as search engine friendly URLs. 1.Configuring your Site Details2. Creating basic search engine friendly URLs3. Optimizing URL aliases4. Cont… Read More
  • Apache Pool Size When using Apache prefork, you want to size your Apache child process pool to avoid process poolchurning. In other words, when the Apache server starts, you want to immediately prefork a large pool ofApache processes (as man… Read More
  • Install Drupal Now that you’ve created your database, go back into your favorite browser (I use Chrome: http://www.google.com/chrome) and go to localhost:8888/d7-demo/install. php. Choose the “standard” installation profile for now (see Fi… Read More
  • Moving Directives from .htaccess to httpd.conf Drupal ships with two .htaccess files: one is at the Drupal root, and the other is automatically generatedafter you create your directory to store uploaded files and visit Configuration -> File system to tell Drupalwhere … Read More