Computing Resources

  • Looking for an in-depth discussion on VPS RAM? If so, check out the specific page discussing that.
  • CPU and Utility/VPS Computing discussions can be found below.

CPUs and Utility Computing

Transitioning to a utility computing model fundamentally changes how developers have been trained to think about CPU resources. Instead of purchasing or leasing a particular processor to use for several months or years, you are renting capacity by the hour, day, or month. Because we're built on commodity hardware, over time there may be several different types of physical hardware underlying our VPSes. The goal is to provide a consistent amount of CPU capacity no matter what any underlying hardware might be.

We utilize a variety of measures to provide each instance with a consistent and predictable amount of CPU capacity. In order to ease comparisons between different environment options, we have defined CPU resources as threads. Using several benchmarks and tests, the consistency and predictability of performance is ensured by requiring each thread possess an equivalent CPU capacity found with a single core of an Intel Xeon E5410 processor1).

Selecting Server Types

When selecting a specific virtual server type, you should consider the characteristics of your application with regards to resource utilization and select the optimal type from those performance needs (e.g. is it a high RAM, high CPU, or high I/O VPS?). One of the many advantages with BuildYourVPS, is that there is no charge for upgrades or downgrades, and all such adjustments are fully-automated without requiring a server rebuild or restart. This makes it convenient and inexpensive to test the performance of your application on different server types.

How are resources allocated?

CPU resources (threads) are guaranteed at a ratio respective of both the server type, and your RAM choice.

The following table illustrates the different levels of guaranteed minimum CPU commitments between Virtual Private and Virtual Dedicated environments2):

Virtual Private Virtual Dedicated
256MB RAM 6.25% of 1 thread 6.25% of 2 threads
512MB RAM 12.5% of 1 thread 12.5% of 2 threads
1GB RAM 25% of 1 thread 25% of 2 threads
2GB RAM 50% of 1 thread 50% of 2 threads
4GB RAM 100% of 1 threads 100% of 2 threads
8GB RAM 100% of 2 threads 100% of 4 threads
12GB RAM 100% of 3 threads 100% of 6 threads
16GB RAM 100% of 4 threads 100% of 8 threads
32GB RAM 100% of 8 threads 100% of 16 threads

Virtual Private Server

Great for hobbyist projects, very low traffic websites, and IRC or DNS services, a Virtual Private Server plan guarantees:

  • CPU: one (1) thread per 4GB of guaranteed RAM3)
  • Guaranteed RAM, with an additional 50% more memory available as swap.
  • I/O Priority: low4)
  • Bandwidth CIR up to 10Mbps5)

Virtual Dedicated Server

Excellent for business quality hosting needs, as well as game server engines (i.e. Minecraft), a Virtual Dedicated Server guarantees:

  • CPU: two (2) threads per 4GB of guaranteed RAM6)
  • Guaranteed RAM, with an additional 50% more memory available as swap.
  • I/O Priority: medium7)
  • Bandwidth CIR up to 100Mbps

Virtual Physical Server

For even more details, please visit our Virtual Physical Server page.

Perfect for high-utilization/high-load dedicated hosting needs, a Virtual Physical Server guarantees:

  • CPU: Unlocked8)
  • Guaranteed RAM, with an additional 50% more memory available as swap.
  • I/O Priority: Unlocked
  • Bandwidth CIR up to 500Mbps9)
  • Minimum 16GB of RAM is required.

With exclusive access to the leased hardware resources, a Virtual Physical Server is your path to maximum possible performance. With features above & beyond a more traditional physical server:

  1. Fully managed device drivers, kernel optimizations, and physical hardware; we are responsible for all of these details.
  2. Support for dedicated/special-purpose expansion cards (such as SSL & VPN accelerators).
  3. Guaranteed 100% exclusive use of purchased CPU and Disk resources.
  4. Simplified server management and control via the control panel.
  5. Zero-downtime upgrades & server migrations.
  6. Instant scale-out imaging, rapid server clustering & painless failover environments.

I/O Priority & Performance

With a virtualized server (e.g. guest), some resources like CPU threads, memory commitments and storage capacity will be dedicated to a particular guest, other resources like the network and the disk subsystem are shared among many guests. If each guest on a physical host tries to use as much of one of these shared resources as possible, each will receive an equal share of that resource. However, when a resource is under-utilized you will often be able to consume a higher share of that resource while it is available.

The different guest types (i.e. Virtual, Dedicated & Physical) will provide higher or lower minimum performance from the shared resources depending on the selected guest type. Each of the guest types has an I/O performance indicator (low, moderate, or high). Guest types with high I/O performance have a larger allocation of shared resources. Allocating a larger share of shared resources will ensure a higher degree of predictability through less variances on I/O performance. For many applications, low or moderate I/O performance is more than enough. However, for those applications requiring greater or more consistent I/O performance, you will want to consider guests with high I/O performance.

What To Expect For Latency & Throughput

Disk and network I/O rates can vary significantly based upon request size, access pattern randomness, and the caching strategy used by your application. As such, the most accurate measure is to benchmark your specific application.

1) e.g. a 1-1.2GHz 2007 Opteron or 2007 Xeon
2) Virtual Physical environments always have unlimited/unlocked access to hardware resources, and may include more or less threads pre node; please discuss specific needs during provisioning
3) , 6) absolute allocation
4) , 7) implemented through standard OpenVZ I/O priorities functions
5) or if purchasing a 3TB+/month plan, commitment is CIR+10%…for a larger burst window, please consider a Virtual Dedicated Server
8) MINIMUMS: Small=4 threads, Medium=8 threads, Large=16 threads, X-Large=32 threads
9) supporting bursts at up to 1Gbps