how to go about scaling a web-application ?

Posted by phoenix24 on Server Fault See other posts from Server Fault or by phoenix24
Published on 2010-06-16T11:08:14Z Indexed on 2010/06/16 11:12 UTC
Read the original article Hit count: 314

Filed under:
|
|
|
|

for someone whoes been primarily a web-application developer, and know not much about scaling/scalability techniques.

I'll start by stating my application is written in Python, using Django; a fairly standard setup.

I currently use Apache 2.2 for my webserver, and MySql for my database server; both running on the same vps server.

Up until now, it was basically a prototype and merely 15-30 concurrent users at any given time; so I had no issues, but now since we'll be adding more users we'll have severe performance issues.

So my question is how do i go about scaling my web-application? and my plan is as follows.

  1. Now I have just one vps server running, apache + mysql.

  2. Next, I plan to add another vps server, to run only MySql; so i'll have one web-server and one db server.

  3. Next, I'll add Memcache to the webserver for caching data; and taking some load off mysql.

  4. Next, another web-server for serving all the static content;

  5. Next, a vps server for load-balancing (nginx/varnish) behind which would be my two web-servers and then db-server.

Does that sound like a workable strategy, please guide me around here.

© Server Fault or respective owner

Related posts about apache2

Related posts about nginx