Sunday, October 31, 2010

Re: minimum system requirements

On Oct 31, 2010, at 7:19 AM, ozgur yilmaz wrote:

> Hi,
>
> I'm developing a project by django 1.2.3. Now it's time to bring the
> project to production. I'm looking for dedicated servers but i dont
> know the minimum hardware requirements. There are dedicated options
> with P4 cpus. Is there any information about requirements?

Hi Ozgur,

Minimum hardware requirements are relative to the amount of traffic you will be receiving. It is certainly possible to host a Django web site on a single 256MB VPS from e.g. Rackspace, but I would not expect that single VPS to be able to handle more than a very small number of visitors at once. On the other hand, 2 load-balanced 512MB instances serving the Django app plus a larger instance running the database should suffice to handle a much larger number of concurrent users -- depending on how you architected the site. If you have particular views that run lots of database queries and perform a large number of calculations, and those views turn out to be popular destinations for your visitors, you can very rapidly run out of resources. On the other hand, if you have a good caching strategy in place and minimal required computation for your site, small servers can potentially handle a much larger load.

You will need determine for yourself how much computing hardware will suffice to handle your particular requirements. You should approach this task by load-testing your application, using such tools as httpperf (http://code.google.com/p/httperf/) and Tsung (http://tsung.erlang-projects.org/) to simulate usage of your app. You will want to test all your views, and also simulate what you think will be the normal use pattern. With the knowledge of how each view responds to load, you can then tune those views individually for better performance. With the knowledge of how your app responds to the normal use pattern, you can gauge how much hardware will be required to handle your estimated number of visitors. In short, profile your app, and make decisions based on that knowledge.

As with many questions regarding deployment, the answer is "It depends".

---Peter Herndon

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment