After years of writing quality content your wordpress website might eventually reach the point where it begins to rank in search engines for popular keywords and phrases. No matter how well optimized your website is, substantial traffic increases will cause you to max out the limited resources on your shared hosting plan. This was exactly the case with for my websites, which went from zero traffic to over 30,000 monthly pageviews in just 2 years.
Slow loading websites are one of the most obvious signs you might be outgrowing your shared hosting plan. In addition Cpanel has a handy Resource Monitor that allows you to track metrics like CPU, Entry Processes, Physical Memory Usage, IOPS, I/O and NPROC. Shared hosts have hard limits set on resource usage to prevent one single account from consuming all the available resources on the shared server.
Shared Server Resource Allocation
Shared hosting plans are designed for brand new websites with minimal traffic and resource usage. They come at an economical monthly price point, but have hard limits on the amount of server resources you are allowed to use. Exceeding the capped limits results in decreased performance and potential down time. Here are some common shared server resource limits.
CPU usage isn’t constant since website traffic comes in bursts, but hard limits are imposed on shared hosting accounts to prevent any one site from hogging all the shared resources. Shared hosting accounts are normally limited to using a maximum of 25% of the total CPU for 90 second bursts. In addition to high website traffic, here are some less known causes of CPU limits being hit.
- Cron Jobs
- Comment Spam
- Search Engine Bots
- WordPress Heartbeat
- Hacked Websites
- MySQL Queries
Entry processes (EP Limits) are often limited to between 25-35 simultaneous connections on shared hosting accounts. This is normally sufficient for static sites, but insufficient for e-commerce based site, forums and WordPress multisite. Higher entry process limits allow you to run more concurrent php scripts, making your site faster – especially in the event of traffic bursts.
Physical Memory Usage (RAM)
Physical memory usage is usually restricted to 2 GB on most shared hosting plans. RAM is a form of fast, but unstable memory that holds temporary data when your site is running multiple processes simultaneously. Once all of the accounts allocated physical memory are used up 500 internal server error and 503 error messages will appear in the browser.
I/O – Input Output Usage
Input Output usage is restricted to 2.44MB on shared servers. If your accounts usage exceeds this limit it will be throttled until it drops back down to an acceptable range.
IOPS – Input Output Per Second
Input Output Per Second (IOPS) is limited to 1,024 on shared hosting plans. IOPS specifies how quickly your website and script input output operations process on a per second basis. Higher IOPS limits are crucial for high-traffic websites with large database queries.
NPROC – Number of Processes
The number of processes (NPROC) on shared hosting is often restricted to 100-200 simultaneous entry processes. NPROC restricts the number of concurrent processes that can run on your account at the same time. Higher NPROC limits mean your site can handle a higher number of simultaneous visitors at the same time. This is important for sites that receive bursts of traffic over a steady stream of visitors. Error 500 or 503 that is displayed when the site reaches the simultaneous process limit.