Last Updated on August 1, 2017 by Ruchir Shastri
Typically, people look for a dedicated server when their shared/VPS account is no longer capable to meet ever-growing requirements, or there’s a new project launch which demands bigger resources.
In either case, you just can’t head to any other web host and order a generic dedicated server, without understanding your actual resource requirements.
It’s vital that you at least get a general idea of how much resources you’ll deploy to your dedicated server. It’s actually quite difficult to determine the exact resource requirements, but it’s better to know something rather going in blind.
In this blog, we will go through some basic principles of how you can determine the resource requirement of a dedicated server matching the business needs.
Understanding Your Hosting Requirements
Different applications have different resource requirements. Determining the type of software you’re going to run on your server is probably one of the most important factors to be taken into account.
Based on the type of your software, you can put more emphasis on certain server resources. For example, database driven applications demand high speed I/O operations. In that case, an array of faster SSD disks would be an ideal choice rather a standard single HDD.
To host game servers, you’ll require a high-end dedicated server with powerful CPU & GPUs. It’s okay if you mount less amount of disk on the server. On the contrary, any low-end server would suffice to host a file server, but you’ll have to deploy lots of disks.
For video websites, media streaming and TBs of bandwidth are essential, whereas to build hosting servers, a perfect combination of RAM, latest CPUs and faster storage is required.
Estimating The Resource Requirements
Estimating the dedicated server resource requirements involves detailed investigation, like reviewing your business needs, estimating of your current workload, future resource anticipation and expansion etc. Ultimately, you will have to answer a number of “how much” and “what kind” questions.
Upgrading From An Existing Hosting Plan
Just note down your current resource pool allocated with the hosting package, and what you’re using during peak hours. Also, gather some numbers as below.
Number of daily & monthly visitors.
Number of concurrent visitors in peak hours.
Monthly bandwidth requirements.
RAM & CPU usage in peak hours.
Above statistics is easily available through hosting control panels like WHM or Google Analytics. Based on gathered figures, you can calculate how much power you’d need in order to provide those resources without stressing out your server.
As a minimum for the dedicated server, you can go with multi-core single CPU (Intel E3 or E5 Series ), at least 8GB RAM and a decent RAID controller.
For the better performance or provide a level of fault tolerance to your system, either go with RAID 5 or 6.
Starting Up A New Dedicated Server
If you are planning to start a new dedicated server, things will be more complicated as it involves a bit of research work on your part. In the following section, we’ll discuss some important parameters to be considered before you build a dedicated server.
Choosing The Server Operating System
Determining a dedicated server OS is fairly simple. If you follow the conventional path, for the Linux based software and PHP based applications, CentOS is by far the best OS available. Note that PHP applications can also be hosted on Windows hosts, but not being a native platform it has several performance disadvantages.
For the applications and software built with Microsoft technologies like ASP.NET, C# or MS SQL Server, you’ll have a no choice other than installing Windows Server OS. It is worth mentioning that Linux OS such as Ubuntu, Fedora, Debian, and CentOS are open source and free to use, whereas Windows OS will cost you more based on the OS Edition and License type you choose.
Using Performance Metrics
If you are planning to host popular software, you’ll get the server requirements on an official website of the respective provider. For example, Minecraft game server, Forex trading software, bookkeeping software, radio stations, etc. have their exact requirements mentioned on their official website.
For the custom applications/software, you may need to run some performance metrics while they were in development or staging environments. This data can be used to build some useful assumptions.
Let’s take an example of a custom PHP website, If you know the peak hourly visit rate (the number of unique visitors to the website in its busiest hour) and the average visit length (the amount of time, on average, each user spends on the website), you can easily estimate of the required Virtual User count. A virtual user count can be used to calculate the approximate RAM and CPU usage per user.
Determining The RAM Resource
Once virtual users (concurrent users) are known, you can easily calculate the RAM usage. Let’s say your application will get at least 100 concurrent users which may burst to 200 in peak hours. Your application requires at least 16 MB private memory to run optimally. In this particular case, you’ll need (200 * 16 MB) 3.2 GB RAM to accommodate the 200 concurrent users.
In addition to application requirements, also consider the memory requirements of OS and other essential services like Mail Server, SQL Server, FTP Server, etc.
Calculating The Disk Space & Bandwidth
From images to HTML files, your website needs a disk space to be stored somewhere. Especially, if you are hosting an eCommerce website with thousands of products, you will require a large storage space.
Select SSD drives if dedicated server budget is not your concern. They are far faster and reliable than older hard drives. Going even further, you can opt for NVMe SSD storage. Most probably, disk-space would not be a problem as you get plenty of storage with a dedicated server compared to shared & VPS options.
Similarly, the bandwidth should never be a problem, as most of the providers offer dedicated servers with unlimited traffic.
Check If You Deployed Necessary Resource To Your Dedicated Server
Once you deploy your application on a dedicated server, you might want to check whether resources are capable enough to accommodate the peak time load. To identify the same, perform stress testing of your server.
Indeed, only deciding that you require a dedicated server isn’t enough. Without correct estimation, you may end up making an expensive mistake. Either you’ll choose a server that isn’t powerful enough, and everything slows to a crawl, or you’ll run one with too much resources breaking your budget.
By collecting the information mentioned in above sections, you can make an informed decision on what a dedicated server you actually need.