Guide to Resource Limits on Shared Hosting and Reseller Hosting
All hosting accounts on WebHostNepal’s Shared Hosting and Reseller Hosting platforms have resource limits in place. These resource limits are designed to safeguard your account. In the past, other users on the server could consume all of the available resources (CPU/Processor, RAM/Memory or Disk Access) and cause a slow down for other websites hosted on the same server.
WebHostNepal’s resource limits are generous. Typically, our limits are much higher than that of other hosting companies giving every website a lot more space to grow.
We use faster, more powerful servers. A typical server uses the latest Intel Xeon E5 processors, up to 64GB of DDR4 RAM and Bandwidth of 500 Mbps.
We place fewer accounts per server than that of our competitors. ‘Overcrowding’ of servers is a common technique used by competitors to try and squeeze more money from customers.
Our current resource limit ceiling is set as follows:
Shared and Reseller packages
Number of concurrent web-server requests: 20
Amount of RAM all client’s processes can use: 1GB
Percentage of CPU time: 100% of 1 core
Checking your current usage
It is possible to check your current resource usage via cPanel account.
CPU Usage specifies how much of the allocated CPU resources you are currently using. The amount of CPU resources we provide to each account is the percentage of the server’s resources.
If CPU reaches 100% it means that your account is using all of the CPU resources allocated, and any new processes will be put to sleep until existing processes complete. This can cause your website to slow down dramatically and in extreme cases even time out.
Physical Memory Usage (RAM) is the actual memory allocated for your account. Virtual memory is usually a file on a disk drive that the operating system uses to store information (swap-to-from) when the real memory becomes full, for instance the page (swap) file on a Linux system. Therefore, if you try to publish a big post, it might take all physical memory to do so, but after some time it will be normalized.
If this value reaches the limit you may begin to experience PHP errors (if applicable) on your website, or in very extreme cases may see a error page. These errors are typically only brief and once the usage has reduced to below the limit, will automatically clear.
Entry Processes is the number of processes that enter your account. For example, every PHP page that is accessed by a user will usually generate a single entry process. Many people misinterpret this value as “number of visitors you can have on your website at once”. Whilst it is true that each visitor accessing a PHP page will spawn an entry process, these processes usually end so quickly that it is extremely unlikely that 10 will be spawned concurrently and at a single moment unless you had a significantly large number of simultaneous visitors on your website at once. SSH sessions and cron jobs also count as entry processes.
Number of Processes is this limit is similar to the above but includes all processes generated by the account rather than the specific PHP, SSH or cron jobs. This number is typically very low, even under high activity, as non-PHP tasks execute and complete even more quickly.
I/O Usage (input/output) represents how much I/O (or disk activity) your account is using. Any task which makes use of the servers disk drive (such as reading or writing to the server) will consume I/O. We limit the maximum disk speed of each account to ensure that no single account can saturate the disk drives which will reduce performance for everyone.
Reaching this limit will cause all processes to slow down (to within this limit) and take much longer to complete. Typically you won’t notice this setting ever increase unless you perform something disk intensive like generating a large backup of your account.
Reasons for ‘Resource Limit is Reached’ errors
When your website is hitting one or more of its hosting account resource limits, it can result in ‘Resource Limit Reached’ errors or slow down the website. What error will appear depends on the resource limit the account is hitting.
The error 508 appears when entry processes hit the limit. If this limit is reached, mod_hostinglimits will not be able to place Apache process into LVE, and will return error code 508. This way a very heavy site start returning 508 errors without affecting other users on the server.
However, if the site is limited by CPU or IO – the site will start responding slower.
If the site is limited by memory or number of processes limits – the user will see 500 or 503 errors that server cannot execute the script.
Everything you do on your website, from uploading files, installing plugins to having visitors, uses server resources. Most common causes of the resource overusage are:
- increased legitimate website traffic: your website may suddenly receive a high amount of visitors and the error will be shown until the number of the visitors is reduced or the resource limits are increased;
- backend scripts or cron jobs: scripts running in the background, including automatic backups and demanding cron jobs can create significant load, which in addition to normal traffic can affect the website performance and cause the overusage;
- web crawlers or search engines indexing your website too often;
- badly written scripts: scripts and plugins that are outdated or incorrectly coded can malfunction and cause loops. Even a few concurrent requests to such scripts can push the website over its resource limits;
- DDOS: Denial of service attack overloads the server, making it unavailable or normal use.