Incorrect Scalabilty
As we have mentioned earlier, the price for extra CPU, Memory and Network bandwidth units has become neglectable. Though there are still limits and every server has a certain limit to its capacity. Along with that, web applications become more resource demanding by default and their needs grow very fast when the site's popularity increases. Naturally, any server's capacity can be exceeded when the server is overloaded with unstable performance.
Thus, if you have not planned correctly the scalability of your website, there will be slowdowns if not even service interruptions. Estimating the exact needs of your website is very hard because there are no general thruths. For example, no one can estimate how much memory / CPU is needed for a forum with 1000 users. An SMF forum with 1000 users and 100 000 posts may perform as good as a vBulletin forum with 2 000 users and 50 000 posts.
Here is the place to mention an interesting phenomenon called the Slashdot effect. It is observed when a popular website features a smaller one, forwarding an unexpectedly high number of visitors to it. Usually this makes the smaller site totally inaccessible. A similar result can be accomplished by a very agressive marketing campaign.
That's why it is generally wiser to ensure more server resources than your current needs seem to be. This will allow you to develop and grow firmly your online presence while keeping your site stable and fast.
When thinking of scalability you have to take into consideration the provided RAM Memory and CPU units. Generally your options are:
Shared hosting account - provides shared server resources (not strictly predefined) to many websites
Pros:
- Affordable prices;
- Ease of use with least technical knowledge required;
Cons:
- CPU and Memory units are unequally shared by all users;
- Resource overusage is not tolerated and performance is optimized for the average user;
- Custom server configurations are not allowed. Such would have effect on all users on the server;
Virtual private server (VPS) - a server is virtually divided into several virtual servers with guaranteed Memory and CPU units
Pros:
- Dedicated CPU and Memory units;
- Performance is very flexible. Burst CPU and Memory usage is allowed even though for short periods (less than 5 mins);
- Easy to upgrade / downgrade between plans;
- Custom server configurations are allowed;
- Ease of use - usually website control panels (cPanel) do not differ from those for the shared hosting;
Cons:
- Higher prices;
- Virtualization works with software limits which are vulnerable to heavy overloads. If a VPS has very heavy resource overusage the whole VPS node may be affected;
Dedicated servers - preferred by professionals who have better understanding of their sites' needs
Pros:
- Guaranteed dedicated CPU and Memory units;
- Custom server configurations are allowed;
- Full access to the server configuration;
- Easy Memory upgrades;
Cons:
- Higher prices;
- Advanced skills and knowledge are required to take full advantage of the server;
- No performance flexibility;
- Hard CPU and Disk upgrades;
|