Hardware Guide

Storage

Storage decisions affect database query speed, and the size of your hard drives must be adequate to store all your data.

Database servers frequently read and write data to your hard drives. So increasing the speed at which data can be written and retrieved has a big effect on performance. Many people recommend SSD (Solid State Drives) for databases with high I/O requirements, as data can be written and read faster. However SSD comes at a higher price than SATA.

Whatever your choice, it is generally recommended that you split server elements across several drives on your dedicated server. This might mean a separate disk for your operating system, data files, log files, and databases. Finally, each element may be better suited to a particular RAID, to improve redundancy and performance.

Processors

Analyze your server’s CPU usage to determine the required number of Central Processing Units (CPU) and the required speed of the CPUs.

Both of these decisions are informed by CPU usage, itself determined by the frequency and nature of database queries (and not the size of your database). The best way to make CPU decisions is to analyze actual CPU usage. By understanding and benchmarking current usage and performance, you can assess the need for additional processing power, and measure improvements.

Understanding CPU Usage

If CPU utilization is greater than 75-80%, this indicates CPU pressure. CPU pressure is also considered to be present when at any given moment at least one user task has waited for CPU resource. When you see CPU pressure, you have two options, add additional CPUs or upgrade to faster CPUs.

Upgrading to a faster CPU will nearly always improve performance. Adding additional CPUs will only help a database job run faster if that job can take advantage of an additional CPU. For example, if CPU usage is at 100%, but nobody waited for CPU during the workload, adding an additional CPU will not help.

You can analyze CPU usage in the iWeb Control Center, or ask one of our experts for help determining your requirements. If you have no current data, make sure you can increase the speed or number of CPUs in your server once you have more data to work with, or as your situation changes.

Memory

Having more RAM makes running queries faster, as more of the data to query is cached in memory.

The more Random Access Memory (RAM) you have, the more data can be cached (reside in memory), and the more data a single read can extract from your storage disk. The fewer reads to the hard disk necessary to complete the database query, the faster the query. If all of the data to be queried fits in the RAM, only one read will be required, “swapping/paging” is avoided, and the query is run as fast as possible.

As most databases use indexes to speed up queries, RAM requirement is more closely related to the size of your indexes than to the size of your entire database. A common rule of thumb is to keep the size of your indexes “in RAM”, in order to avoid paging (although this is not a hard and fast rule for all indexes and all database server programs). Similarly, if your entire data fits in RAM, indexes may be unnecessary.

The best way to determine RAM requirements is to look at actual usage data and performance, and establish benchmarks. If you do not have existing data, consider the amount of memory required for the most intensive transaction, and estimate the amount of free RAM you need to avoid swapping/paging.

Operating System

Your operating system (OS) determines how much RAM you can use.

The maximum supported memory size on a 32bit system is 4GB. In many cases, a database server on a 32bit OS will work best with the maximum 4GB RAM. If you find that running your database requires more memory than the 4GB of RAM a 32-bit environment can provide, you will need a 64-bit OS.

Remember that not all of your dedicated server’s RAM will be available for your database server to use, as some is required for the OS and system. One way to maximize the RAM available to your database is to split your database and web/application servers in a clustered architecture (see next tab).

Architecture

Architecture decisions affect overall performance and can prevent downtime.

If you have large databases with a lot of Inbound/Outbound (I/O) traffic and high CPU and RAM requirements, you may need a completely separate database server in order to achieve and maintain your desired level of performance (as opposed to combining a web and database server on a single dedicated server). Separating your database server from your web/application servers allows the database to use all of the CPU and RAM on the dedicated server hardware, improving performance.

If hedging against downtime is paramount, you can reduce both planned and unplanned downtime by replicating your database across a cluster consisting of an active database server and a hot-copy failover database server. Just make sure that your active and passive databases are synchronized!

You can also add backup into your architecture in a number of ways:

  1. On a dedicated back up server (best)
  2. With web-based data protection
  3. On a separate drive on your server

Network

Your network must have the speed and capacity to cope with your architecture and traffic.

Even if your hardware can handle the required frequency and size of transactions, the bandwidth provided by your hosting provider needs to be adequate for the traffic flow. This includes both local traffic (LAN) and traffic to and from the wider web (WAN). Your hosting package will also need to be priced in a way that minimizes data transfer charges, for example an unmetered LAN or WAN.

iWeb offers unmetered local and public traffic. That means there is no penalty for sending data back and forth between servers, or for high database usage. You may not require unmetered traffic, but do calculate the estimated monthly price for your hosting based on expected data transfer if it is charged by the GB.

Read more about bandwidth, traffic and throughput

Optimization

Optimization can speed up performance and save investment in hardware upgrades.

Before resorting to any hardware and memory upgrades to improve your database’s performance, consider if your database server has been fully optimized to make use of the existing resources. And if you do need to upgrade, remember that there is no one-size-fits-all solution.

If you do not have a Database Admin (DBA) or you need support managing your databases, talk to an iWeb database expert about analyzing and optimizing your database before you invest in more hardware.

Architecture Guide

These common database hosting architectures can be customized to your situation.

Single Web and Database Server

The most simple architecture uses a single dedicated server to host both your database and web servers, website scripts and other files. Although simple, this can be a high performance option providing that your web and database usage is not too intensive.

Even with single server architecture, it is usually advisable to host different elements on different drives within the server, using RAID technology to improve redundancy. You can also backup your data on the same or a separate server.

  • Simple architecture
  • Lowest cost
  • Less scalable
Singe Dedicated Server
Server Cluster

Server Cluster

A server cluster is a high-availability solution where specific dedicated servers host specific services. An entire dedicated server is used to host your database, without performing other services like running a web server, which is handled by different hardware.

A server cluster lets you properly segment and manage your services like web, database and file storage. This improves server performance and makes scaling your infrastructure simpler.

Consider your databases. You have more CPU and memory for your databases, and to add more processors for your database you only need to upgrade the database server hardware, leaving the other hardware as it is.

Find out more about server clusters

Storage Attached Network

A Storage Attached Network makes an array of storage devices available to multiple database servers, in such a way that the storage devices appear to be locally attached to the operating system.

That means several database servers can access unified data.

It’s an extension of the server cluster that offers further disaster recovery and high availability options, all in a way that is simple to execute because the SAN storage is seen as one local volume on each of the database servers.

  • High performance for intensive workloads
  • Easy to scale and optimize
  • Built and managed by iWeb
  • Additional flexibility

An iWeb database expert can help you decide if you need the extra flexibility offered by a Storage Attached Network.

Storage Attached Network

Database Hosting Servers

For more assistance choosing a server for database hosting, chat live with an iWeb expert.

Single Processor

Processor RAM Storage Raid Bandwith Speed US$/Month
Intel® Core2™ Quad Q6600 8GB 1 × 1TB HDD 12TB 100Mbps $95 Chat to buy
Intel® Core™ i5-2500 8GB 2 × 1TB HDD SW 20TB 100Mbps $125 Chat to buy
 Intel® Xeon® E3-1230V2 8GB 2 × 1TB HDD SW Unmetered 100Mbps $149 Chat to buy
Intel® Xeon® E3-1230V3 16GB 2 × 1TB HDD SW Unmetered 100Mbps $185 Configure
Intel® Xeon® E3-1230V3 16GB 2 × 120GB SSD SW Unmetered 100Mbps $215 Configure
Intel® Xeon® E5-1620 V3 32GB 2 × 2TB HDD SW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$263 Configure
Intel® Xeon® E5-1650 V3 64GB 2 × 2TB HDD SW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$311 Configure

Dual Processors

Processor RAM Storage Raid Bandwith Speed US$/Month
Dual Intel® Xeon® E5-2620 V3 64GB 2 × 2TB HDD SW 30TB 100Mbps $371 Chat to buy
Dual Intel® Xeon® E5-2620 V3 64GB 2 × 2TB HDD HW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$431 Chat to buy
Dual Intel® Xeon® E5-2630 V3 64GB 2 × 2TB HDD HW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$503 Configure
Dual Intel® Xeon® E5-2650 V3 128GB 2 × 2TB HDD HW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$707 Chat to buy
Dual Intel® Xeon® E5-2670 V3 256GB 2 × 2TB HDD HW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$1019 Chat to buy

Performance

Processor RAM Storage Raid Bandwith Speed US$/Month
Intel® Xeon® E5-1620 V3 32GB 2 × 480GB SSD HW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$401 Configure
Dual Intel® Xeon® E5-2630 V3 64GB 2 × 480GB SSD HW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$563 Configure
Dual Intel® Xeon® E5-2650 V3 128GB 2 × 480GB SSD HW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$767 Chat to buy
Dual Intel® Xeon® E5-2670 V3 256GB 2 × 480GB SSD HW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$1079 Chat to buy

Storage

Processor RAM Storage Raid Bandwith Speed US$/Month
Intel® Xeon® E5-1620 V3 32GB 2 × 8TB HDD HW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$401 Configure
Intel® Xeon® E5-1620 V3 32GB 6 × 8TB HDD HW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$719 Chat to buy
Intel® Xeon® E5-1620 V3 32GB 6 × 800GB SSD HW 30TB 100Mbps
1Gbps: on demand
Some restrictions apply. Chat with us.
$839 Chat to buy

We’re here to help.