“I'm not afraid of failing; that's the only way to reach success.” - Nuno Peralta

Scalability Methods

Clustering »

Introduction

Every day, Internet is growing and everyone is switching over to online services. Therefore, there must be methods to support the large traffic that big websites, such as Google, Facebook and Microsoft, get every second.

As an example, a simple default server would just be configured with cPanel, Apache and MySQL server. If the server has enough memory, say 4GB, and a good CPU, it will work well for a good amount of users, say 200 users, using some complex “real-time” web Ajax application.

However, as the users keep growing, and database as well, the server will start having issues with its resources. MySQL server, connections, system backups, CGI scripts… everything is using Memory and CPU. Downtimes will begin and headaches too.

We’ll be talking about scalability methods that the biggest websites use today. While new approaches are being implemented by them, at the same time they are collaborating with the services that small companies’ servers use. Facebook helps on the development of MySQL, PHP and Memcached (we’ll talk about this later) [1].

Some of the tips explained here may be consequence of own experience that taught how to alleviate server load when the money is not enough to buy better resources.

[1] Facebook (Jan 2012). Open Source - Facebook Developers. https://developers.facebook.com/opensource/

Article written by Nuno Peralta, 2012