While reading an XBIZ.net thread recently, I was reminded about an annoyingly common experience that often frustrates website owners: upgrades. Sometimes, an upgrade of physical system resources like CPU, RAM or storage really is required to solve a problem or improve performance… but how do you know you’re not just being upsold?
Ideally, you should be able to rely on your web host for honest, educated and helpful feedback about your configuration. However, it can be hard to know for sure if you are receiving the best advice and whether you should feel confident about the direction being recommended. In the worst-case scenario, a sys admin might be lazy, insufficiently knowledgeable or simply financially motivated to push for an upgrade.
If you’ve been on your server for five years or more, not only is your hardware probably out of date, but your operating system is most likely end-of-life.
I will tackle this subject in three easy parts — CPU, RAM and storage — sharing recommendations and advice to help you squeeze the most out of your hosting. I will then conclude by broadly addressing how to know if your hosting configuration is worth upgrading, or is simply too old and needs replacing. After all, sometimes you just need to take it out behind the barn and shoot it!
When You Don’t Have Enough Horsepower
Processing power is a funny thing. It is relatively rare for your business to outgrow it faster than storage or memory. There are exceptions, however, such as if your hosting account is truly entry-level, or was never sized properly. Side note: As a matter of principle, you should always purchase enough processors to handle your anticipated peak surfing and computational loads.
If you have an entry-level hosting account with one or two cores and your web host is telling you that you need more, most likely they are right — but you should still always ask questions to understand the whole picture. When you run the “top” command in Linux, it will report a metric for “system load,” also known as “load average.” If you see load averages exceeding the number of available CPU cores, it means there are more processes waiting to run than it can handle concurrently. This is especially common during peak hours and indicates that your system would benefit from additional cores, or cores with a faster gigahertz.
Your server’s various resources do impact each other, so assessing processing needs can get complicated. For example, you can run out of CPU cores if they are waiting on a response from your storage system. Additionally, always ask about software or operating system changes that could lower your processing needs. Tuning kernel parameters, disabling unnecessary services and making sure that power savings modes are turned off can all potentially resolve a lack of processing resources.
Consider using software that is less resource-intensive — Nginx instead of Apache for web serving, for example — in advanced configurations when your resources are becoming overwhelmed. Lastly, updating from older operating systems can often yield speed and security benefits, but usually requires a migration and can’t be done in-service.
Not Forgetful, But Out of Memory
You would typically add more RAM to a Linux system to address consistent performance issues tied to insufficient memory. Key indicators include frequent swapping to disk, as observed by high swap usage and elevated swap activity, which can significantly slow down system performance. Monitoring tools and “vmstat” can reveal high memory utilization and swap activity, suggesting that the physical memory is consistently maxed out. If applications are frequently experiencing out-of-memory errors, it is likely time to consider adding more RAM.
Before opting to increase physical RAM, though, it is crucial to establish and enforce appropriate limits for individual processes or worker pools, ensuring they do not consume more resources than necessary. This typically involves configuring worker pools at optimal levels, which helps prevent them from monopolizing RAM to the detriment of other processes.
By carefully balancing these allocations, administrators can prevent resource starvation, thereby maintaining a more efficient and stable server environment where each process has access to the RAM it requires to function effectively.
Keep Drives Speedy and Don’t Fill Them Up
It is important to set up drive monitoring and alerts for errors that storage systems generate as well as how full your storage volume is. As a rule of thumb, I suggest storage alerts when disk usage exceeds 90%. Performance degrades when available capacities get low, for various technical reasons. If your drive fills up completely, you risk data loss, damaging databases and other issues. This is yet another reason to always have relevant backups.
If your hosting is in a VPS or cloud product, increasing storage should be quite simple and cost-effective, requiring an update of settings and possibly a reboot. For a dedicated server, upgrading storage can be as simple as upgrading two drives if you have a RAID 1, or may require a migration to completely new hardware if you have a volume using RAID 5, 6 or 10.
Before paying to increase your storage, check to see if you can delete any items that are not essential to your operations. Examples of things that sometimes get forgotten as drives fill up include on-server local backups, temporary files, log files and raw video files that get subsequently transcoded into other formats. If you have been operating for many years, some spring cleaning will likely yield benefits and prolong the time until your next required storage upgrade.
Slow storage can affect all facets of server performance. To see if storage devices are busy, you can run commands in Linux such as “iostat,” “vmstat” and “iotop.” Hard drives are very slow, SSDs are much faster and NVMe storage is blazing fast, increasing performance expectations as we move into the future. If you are serving content from your server directly and not using a content delivery network (CDN), your storage systems can remain busy.
Implementing CDN for caching and global content delivery is a cost-effective way to breathe additional performance and life into your server, because it effectively offloads serving your popular media. This is especially effective and beneficial during peak traffic times. Be sure to surf your own websites at all different times of day and night to keep tabs on performance. Inspect what you expect!
Out With the Old, In With the New
If you’ve been on your server for five years or more, not only is your hardware probably out of date, but your operating system is most likely end-of-life. As an example, if you are not using a CDN or still using hard drives, instead of SSD or NVMe, an upgrade would likely be beneficial.
Disclaimer: I find these broad statements are generally accurate, but if your business has not grown or changed and your site performance is scoring high, you can probably leave things alone for a while longer, at least until you’re ready to upgrade your operating system. From a processor perspective, not busy is not busy, and it doesn’t matter if you’re not busy on an old or new CPU. If your usage of memory is under your total available RAM amount, newer memory will rarely yield measurably improved performance.
With storage, on the other hand, you can truly expect a major shift in performance when you upgrade from hard disk to SSD — and an exponential shift if you upgrade to NVMe. For this reason, if I were a site owner, I would actively inquire about refreshing into a new setup that leverages any combination of operating system upgrades, along with NVMe storage. If you can do this at no or negligible cost, it’s a clear win. If you must pay more to access new technology, it’s always a more difficult decision, as you will need to weigh the potential benefits against the increased costs of doing business.
In any situation where you are faced with the choice of whether to upgrade your hosting, there are never any dumb questions. Press on, be inquisitive and ask away. Can your software or operating system be tweaked to squeeze more life or performance out of your hosting? Are there unnecessary files filling up storage? Can new software versions or other approaches benefit the configuration? Also, be careful if your inquiries are answered too quickly, since you don’t want to gamble your business on an uneducated answer.
Finally, if you ever find yourself dazed and confused in the life cycle of your hosting gear, don’t hesitate to reach out and ask for advice.
Brad Mitchell is the founder and president of MojoHost, which has served the industry for nearly two decades and has been named XBIZ Web Host of the Year several times. He regularly shares insights as a panelist at trade shows. Contact brad@mojohost.com to learn more about the suite of services his company offers.