A web server with adequate resources ensures excellent performance and user experience. In this article, we will discuss the factors to consider when estimating the size and type of a web server. This includes the hardware resources such as the processor, memory, and storage as well as other factors like bandwidth, support, backups, security, uptime and more.
Scaling server resources
The total load on your hosting server depends on the operating system, server functions, software, applications, type and number of files and databases. Other factors include the number of users, frequency of access, average page size, security tools, whether the website is static, dynamic or both, etc.
Generally, a dynamic site requires more resources than static sites. This is because storing and processing text requires less space and CPU power than images, flash, databases, and other dynamic processes. Generally, it best practice to have slightly more resources above the actual usage. This enables the web server to handle peak demand or spikes in traffic and requests.
Server hardware components
The three main hardware components to consider when choosing a web server are the CPU or processor, memory (RAM) and hard drive (storage). However, it is also important to consider other factors such as bandwidth, reliability, security, support, backups and other issues that help your server to run efficiently.
Web server processor (CPU)
The CPU handles all processing, calculations, and logic. For reliable and efficient performance, the server requires single or multiple, fast and powerful processors with the ability to handle and perform several tasks simultaneously. In shared hosting, the individual servers share the same processor. In dedicated hosting, there is no sharing, and the client enjoys the full power of the single or multiple processors in the physical server.
Ideally, look for a multi-core processor, the higher the cores and threads, the better. This enables it to perform many computing tasks with high speed and efficiency.
Processor usage should be a maximum of 80 percent. Otherwise, the server starts becoming slower as it queues most of the tasks, hence taking longer to respond to requests.
Determining the web server hard drive size
A web server disk size depends on factors such as the size and type of website and files, number of users and whether they save data on the site.
A typical website will comprise different types of files of varying sizes and numbers. Most sites will have a mix of text (HTML), images and other static components, as well as dynamic content, such as chats, emails, comments, databases, and more.
A dynamic website that corrects data, e-commerce, a forum, or a site with large amounts of images, video and other large files will require a bigger disk space compared to a static website that contains text.
When calculating the total disk space ensure that you capture:
- Operating system
- Control panel
- Security and other tools
Supposing the average size of a page is 25k, you can store 40 pages on 1MB space. So, if you have a total of 4000 pages, you will require 100MB.
If your website will store a database and email files, ensure that you include these when estimating the storage requirements according to a total number of users.
For example, if the application is 100MB and you have 5000 users, each requiring 1MB, you need 100MB + (5000x1MB) = 5100MB or 5.1GB to host your database files.
Similarly, if you have 100 email accounts, each using 250MB disk space, you will require 100x250MB = 25GB.
The total disk space should be the sum of all the different data that you store on the disk. The best practice is to ensure that disk usage never exceeds 85 percent of available space. This means always leaving a minimum of 15 percent free disk space on the hard drive.
If your actual a total disk requirement is 30GB, let this represent 85 percent. As such, the ideal disk requirement will be (30/85) x 100 = 35.2 GB. Since you may not get the exact value in the market, settle for the next standard size that a provider offers. For example, you can either take a 40GB or 50 GB.
Other than the size, the speed and reliability of the disks is also a critical issue. Modern storage systems are increasingly relying on the solid state SSD drives which are usually faster and more reliable than older mechanical disks types. Some hosts give you the option to choose the kind of disk, and you may go for these if you are looking for better performance and reliability.
Also, check the Fair Usage Policy (FUP) which limits the number of files that you can store. For example, you may have a 20GB, 50GB or unlimited storage, but can only store a maximum of 300,000 files.
Determining Server Memory (RAM)
This provides a temporary storage for the data that the CPU is processing, and has a better and faster read/write performance than a hard drive. Adequate memory reduces the need for the server to frequently access the slow hard disk memory.
Choose the server RAM depending on your operating system, applications, control panel, security software, database and any other feature that consumes memory. Check for recommended specifications and ensure you have enough memory for each of the web server components and functions.
Ideally, use a higher amount than the actual requirements so as to cater for peak demand. Give an allowance of about 10 percent memory so that you do not exhaust the entire amount during normal operations. Typical packages provide servers with 1 GB, 2 GB, 4GB, 6 GB or 16GB, 32GB, 64GB, or more.
Determine bandwidth requirements
The bandwidth refers to the total amount of data that you can transfer to and from your website per month. Its size depends on the server use, the average size of the pages, as well as the frequency and size of clients’ requests and the responses they receive.
Some providers have packages with unlimited or unmetered bandwidth while others will charge according to the amount of data you transfer, and your site becomes inaccessible when you exceed the limit.
Supposing you have a website with an average page size of 25 KB and expecting 10,000 visitors per month. If each of the visitors accesses an average of 10 pages per month, you will require a minimum of 10000 x 25 KB x 10 = 2500 MB or 2.5 GB bandwidth. Always have extra capacity to ensure that your website will continue functioning when there is an additional load.
Choosing a hosting package
Generally, your choice of the hosting package will depend on your application, environment, and your estimate for the CPU, memory, storage and bandwidth resources. Most host providers have standard server configurations with a wide range of options to allow customers to choose what best suits their requirements. The three main hosting options are the shared, VPS and dedicated.
Shared hosting provides similar resources for all the customers on a single physical server, while a VPS allows customization of CPU, disk space, memory, and bandwidth. Dedicated hosting offers more customization of the hardware components, and is usually best for the big organization or customers such as financial institutions, e-commerce sites and others where security and high performance are critical.
Dedicated servers have the best performance and are more expensive. The VPS provides better performance than the shared, but lower than dedicated. It costs less than the dedicated but more than a shared hosting.
Sometimes it is not easy to predict the server requirements and performance until it goes live. Regardless of your hosting, it is important to perform regular performance monitoring to determine the level of usage and if there are bottlenecks due to inadequate resources.
Shared hosting specs
Below is a typical shared hosting with three different options. Most do not specify the processor and will usually have 1 or 2GB RAM.
A virtual private server (VPS) allows you to customize and choose the number of CPUs, RAM, size of the hard disk as well as the bandwidth and operating system. This is usually an independent virtual machine that shares some resources with other instances within one physical server but provides better performance and control than a shared hosting.
In dedicated hosting, a client gets an entire physical server and has full access and control of all the resources. This has the best optimization options and hence performance. However, it is the most expensive and usually ideal for large organizations or those looking for high performance and security. Typical specifications are as shown below.
Dedicated servers allow customers to custom upgrade their RAM, disk space and bandwidth depending on their requirements.
Other considerations when looking for a web server
Although the hardware and software components determine the performance and speed of your website, it is good practice to look for a host that provides server security, easy upgrade options, data backups, high uptime, and availability.
- Look for a host with redundancy features such as a RAID system that duplicates content by spreading across multiple disks or storage systems. This ensures that in the event of disk failure, you will recover most of your applications and data within a short time, hence continue operations with little or no interruptions.
- Choose a host that allows you to easily upgrade the service as your business grows and traffic or load increases, or easily switch to a new host in case you outgrow their services.
Insufficient server processing power, storage, memory or bandwidth will slow the server operations or cause bottlenecks and lousy user experience. For better performance, it is essential to select the server resources that match your load. This should be able to handle all the simultaneous users and connections and operate without interruptions.
Depending on your budget and future projections, you need to plan well and decide on whether you will be upgrading the server gradually or take up a big server that can cater to your future needs. The second option is more costly, and the best approach is to use a host that allows you to increase the resources easily when the need arises.
In addition to adequately sizing the principal hardware components, ensure that the host provider is credible, reliable and can support your operations during normal and demanding conditions.