2015-02-18

What is high performance in hosting, and which hosting model offers the ‘best’ performance? It’s all a question of priorities. Find out how focusing on the right features can mean choosing the most cost-effective, high-performance hosting solution for your own particular needs.

Photos by Peter Bonnett

Read on, or skip to the section that interests you:

Hosting features and performance

Types of servers and hosting

High-performance web hosting

Server configurations, stability and scaling

What does high performance mean to you?



Hosting features and performance

When comparing hosting you will often compare the following features, each of which affect or limit performance.

RAM (Random Access Memory)

RAM affects how quickly a server can process commands. Higher RAM is required when processing more complex and varied commands. For example, very dynamic websites that run varied queries to a database will see a performance benefit from higher RAM, as will database servers that query large databases.

CPU (Central Processing Unit)

A CPU executes instructions like serving web pages, running database queries or processing computing commands. The number of CPU and cores affects how many concurrent instructions can be executed. CPU architectures and features also affect the speed at which instructions are executed, especially where programs are designed around such features. Read about comparing processors here.

Storage space

Local storage space is a limiting factor for local database size and local storage of files like images. RAID configurations, which increase data reliability and/or increase Input/Output (I/O) performance, require two or more separate storage volumes. Storage can also take the form of networked storage like NAS (network-attached storage) or SAN (storage-area network).

Storage type (e.g. SATA, SDD)

Solid state drive (SSD) offer higher disk read/write speeds, also known as Input/Output (I/O) performance, than SATA hard disk drives. Servers with SSD read and write to disk faster, but have a much lower storage capacity than SATA hard disk drives for a given price.

Bandwidth

Bandwidth the data transfer limit – the amount of data that can be concurrently sent to and from your server. Higher bandwidth won’t make applications perform better unless they can use the higher bandwidth. Things like concurrent video streaming, gaming and big data processing may see a performance benefit from high bandwidth.

Be careful with the difference between unmetered bandwidth and wide/high bandwidth. Unmetered bandwidth means traffic is included in the price. That’s great, but it doesn’t mean your servers have wide bandwidth. Dedicated servers usually offer 100Mbps or 1Gbps. Shared hosting will provide an unspecified fraction of this. Learn more about unmetered bandwidth here.

Traffic

Traffic allowances state the amount of traffic to/from your server before additional charges are incurred (usually per GB). Traffic limits don’t affect performance, but will impact the size of your monthly invoice.

Network latency

Network latency is the milliseconds of delay as information is sent between server and user. Network latency is not specified by a hosting provider, but is affected by the distance and the quality of networking between server and user.

Availability

High-availability (HA) may refer to network and power availability, which is reflected in a hosting provider’s actual track record for maintaining uptime as well as their SLA (Service Level Agreement) which should guarantee a certain level of uptime.

HA may also be achieved at the hardware and application level by introducing redundancy in the form of separate active-active or active-passive pairs of components in the system, with failover in the event of isolated failures.

Top ^



Types of servers and hosting

Amongst the different types of web and server hosting, there is a natural order to performance limits. But if your application doesn’t need the extra performance capacity, you won’t see any performance gain from higher specification. It’s all about ‘right-sizing’.

For example, if your workload doesn’t need the extra computing power, if your website only receives a handful of visitors, if your website doesn’t intensively read or write to the database, or if your app server doesn’t need the bandwidth to serve lots of concurrent users, you won’t see any benefit from higher specifications.

Dedicated (‘Bare-Metal’) Servers:

Pros

Cons

Choice of:

CPU architecture,

CPU features,

number of CPU,

amount of RAM,

amount of storage,

storage types (SATA, SSD), storage volumes,

RAID configurations.

Highest performance stability.

Highest possible data privacy.

Upgradable RAM and Storage.

High, dedicated, specified bandwidth up to 10Gbps

Root access, full server control.

Choice of data center.

Limitation / delay to upgrades

Changing CPU requires migration

Several hours to deploy

Fewer convenience features and options than cloud hosting

Cloud Servers:

Pros

Cons

Instant / automatic scaling:

CPU, RAM and Storage.

Instant / automatic deployment

Convenience features

Automation features

(Limited providers)

PaaS options

(Limited providers)

Choice of storage type,

storage volumes,

RAID configurations

(Limited providers)

High bandwidth

(Limited providers)

Root access, full server control.

(Limited providers)

Choice of data center

(Limited providers)

Variable disk performance

Shared environment

Performance varies by provider

Features vary greatly by provider

Unspecified bandwidth

PaaS vendor lock-in

VPS (Virtual Private Servers):

Pros

Cons

Quick deployment

Choice of:

number of CPU,

amount of RAM,

amount of Storage

RAID configurations

(Limited providers)

High bandwidth

(Limited providers)

Root access, full server control.

(Limited providers)

Choice of data center

(Limited providers)

Variable disk performance

Shared environment

Limited maximum RAM / CPU

Limitation / delay to upgrades

Performance varies by provider

Features vary by provider

Unspecified, shared bandwidth

Web Hosting:

Pros

Cons

Quick start

Choice of:

amount of RAM,

amount of Storage

(Limited providers)

Low RAM / CPU

Restricted software

Variable performance

Shared environment

Limitation / delay to upgrades

Low, shared bandwidth

Low performance storage I/O

Top ^

High-performance web hosting

Shared web hosting is very limited in performance. Beyond a certain level of workload or website traffic, there is no such thing as high performance (shared) web hosting. Even ‘unlimited’ web hosting that offers unlimited capacity and unlimited traffic is not as high-performance as it sounds.

Shared web hosting shares computing, storage and bandwidth capacity between many tenants. That means performance is limited by the amount of CPU, RAM and bandwidth that you are are allocated at a given moment. Even if there is no stated limit to the bytes of traffic you can serve, or files you can store, you are severely limited by the fact that you are sharing a physical server with many other tenants and their unknown/variable workloads. That said, good web hosting offers perfectly adequate performance for low-traffic, static websites.

So how do you know when web hosting plan is inadequate for your site? Websites that use shared hosting will become noticeably slow to load if the server is struggling to keep up with demand. You can also track page load times in Google Analytics – just make sure that your sample size is large enough to base a decision on.

If you expect high levels of traffic, or you are a hosting reseller/agency looking to build a portfolio of websites, consider planning ahead and buying hosting that has enough headroom for you to grow. It could save you the pain of a series of migrations.

Other ways to improve website performance for any level of hosting is to optimize and/or separately host different website elements. For example, you can speed up performance by consolidating CSS, you can host your CSS, JavaScript, images and other files separately, and you can use a Content Delivery Network (CDN) to store and serve static content.

Top ^

Server configurations, stability and scaling

Comparing the high-performance hosting options – those of dedicated servers and reputable, high quality cloud hosting providers like AWS, Internap, Rackspace, Microsoft and Google (to name only a few) – let’s see how each option responds to some of the performance features detailed in the first section of this guide.

Control and choice of configurations

When it comes to control and choice of server configurations, dedicated is the undisputed king of flexibility. A dedicated server is a custom-made, high-powered computer housed in a high-availability data center. Furthermore, several of these tailored servers can be combined to improve availability and performance.

Although some high-end cloud servers like AWS C4 and Microsoft Azure G-Series represent compute-optimized options, detailing the chipsets powering your servers (Intel E5 v3 Haswell in these two examples), dedicated server providers like iWeb offer a far wider range of CPU options that can be tailored precisely to workload requirements. That means the freedom to choose between the very best CPU, or CPU that offer only those features required – features like Intel’s Turbo Boost Technology, Hyper-Threading Technology and Virtualization Technology (VT-x). Most cloud servers do not provide any choice or transparency on CPU, simply stating how many vCPUs are provided.

One major difference between dedicated and cloud servers is that while cloud hosting uses virtualization to launch and scale cloud servers, dedicated servers can be used for virtualization itself. You can even use dedicated servers to build a private cloud for your organization, for example a private Microsoft Azure cloud.

With storage features, as with CPU, only the more advanced, expensive cloud options offer a range of storage options like multiple volumes, high (I/O) performance SSD storage and RAID configuration options.

Performance stability

For a given server configuration, will cloud and dedicated hosting provide similar performance? In fact, in most practical scenarios dedicated servers offer a higher degree of stability than cloud servers, the latter suffering when ‘Noisy Neighbors’ sporadically use disproportionate shares of resources, to the detriment of other tenants.

Many advancements in cloud computing seek to close the gap in performance stability. Some cloud servers now offer guaranteed Quality of Service (QoS) for disk performance, meaning that although disk I/O may vary, a minimum level of performance is always maintained.

But despite these improvements in cloud server stability,some detailed 2014 research by Cloud Spectator validated the existing disk performance advantages of dedicated environments by simulating a variety of workloads on dedicated and cloud servers with similar features and specifications. In one example that simulated the activity of an ecommerce user, Internap bare-metal servers outperformed Rackspace cloud by 2.7x and Amazon AWS by 50 percent on disk throughput, at 59 percent less latency than Amazon and 32 percent less latency than Rackspace.

Scalability and other cloud features

Where public cloud hosting comes into its own versus dedicated is in the level of automation, the scalability and the other raft of different features offered by these virtualized infrastructures and platforms. Cloud servers can be deployed, scaled and closed instantly, or even automatically using API, according to the demands of the servers’ workload. Not only does this add a level of instant scalability that is not possible with dedicated servers, it also affords a high level of cost-efficiency when workloads vary greatly, or high levels of capacity are required momentarily or sporadically (‘spiky’ workloads).

As well the ability to manage and configure a hosting infrastructure, cloud interfaces also offer varying degrees of features to speed up server management or even remove elements of configuration.

Going even further, Platform-as-a-Service (PaaS) models like Google’s App Engine and Heroku allow developers to build applications that leverage the features of the underlying infrastructure without the need to specify or configure an underlying server infrastructure. For some, this simplicity is all the high performance they need.

Network latency

Network latency is the milliseconds of delay as information is sent between server and user. Network latency is not specified by a hosting provider, but is affected by the distance and the quality of networking between server and user.

In order to gauge network latency, look for a good provider reputation, reputable networking hardware partners, and packet speed tests on a provider’s website. You can also analyse a server’s network latency by performing a traceroute.

Paying a premium to minimize latency may not be important to applications like websites, but can be crucial for real-time data processing, or in order to eliminating lag in gaming and communications. Learn more about analyzing and reducing latency here.

Top ^

What does high performance mean to you?

From a startup choosing between shared and cloud hosting to a developer coding specifically for a multi-threaded CPU, the range of hosting scenarios is infinite.

What doesn’t change is that everyone with a decision to make is looking for high performance – or at least, the highest performance available for their budget, and the most cost-efficient solution available.

The key to maximizing return on investment is understanding what matters most to your situation. For free-no obligation advice on how to host your business or application, chat with a specialist on iWeb.com. Our advice is straightforward and free, and we can’t wait to help.

Top ^

Show more