The majority of new Web sites are hosted on shared Web hosting plans, because they are cheaper than using a full server and require less technical knowledge to maintain. Shared hosting means that your Web site is housed on a computer with several others, all drawing on the same system resources. This may have little or no impact on your Web site's performance, if these resources are well allocated. Poor resource management or oversubscription, however, can cause your site to become sluggish, or even to go down at times of peak activity.
What Is the CPU?
The server your Web site is housed on has one or multiple central processing units, or CPUs, just as your home PC does. These are basically the brains of the computer, that handle information requests and execute programs. The bigger the CPU capacity, the more information the server can process before losing performance.
How Does CPU Affect Sites Hosted on the Server?
When multiple requests are made of the CPU simultaneously, the requests will be queued and handled in turn. Each request will receive a fraction of a second processing time before the next request is handled, just as when you run multiple processes on your home computer.
This “time slicing” ensures that each process is handled relatively quickly, rather than some sitting in the queue longer than others. With small loads, this will not degrade performance, as the CPU can handle multiple requests.
When a system is oversubscribed, however, and one or two sites experience atypical heavy loads, resulting in too many CPU processing requests, other Web sites housed on the same server could suffer a loss in performance.
This could be due to unexpectedly heavy Web site traffic, or due to an inordinate amount of server-side scripting and insufficient caching on the site. The end result is the same, though. The server slows under the load of requests, and all Web sites on the host are affected.
How Do Web Hosts Handle CPU Oversubscription?
Different Web Hosting companies handle this issue in different ways.
- Some simply load Web sites onto their servers and wait for the issue to arise before taking action. This could result in emails from your hosting company informing you that your site is drawing on too much CPU power.
- Others employ CPU throttling, which monitors CPU usage across sites and limits the processing power each site can draw on. By preventing one site from monopolizing the processor, others on the server are protected from service degradation. In this case, only the “offending” site will be suffer a loss of performance.
- Still other hosts segregate each site, allocating CPU processing and memory limits to each Web site. While this may prevent one site from impacting on another, it doesn't offer the flexibility to handle peak periods as easily without a loss of performance.
- Some hosts are now migrating to cloud computing. This allows them to connect multiple servers so that CPU capacity can be dynamically shared between servers. The resources of a server undergoing a temporary spike in demand can be bolstered by the resources of an under utilized server. This leads to more stable performance across the board as loads are evened out between processors.
Often CPU power may not be the reason for a slow loading site, however. Poorly optimized graphics, unnecessarily heavy server-side scripting and using a dynamic database to serve static content will all cause slower download times for your users.