Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Possible Duplicate:
Can you help me with my capacity planning?

I am tasked with designing a server setup for a site that has to handle about 5k requests per minute (80 - 90 per second). The only constraints that I am aware of are that the site probably will be written in Django and most, if not all, of the traffic will be encrypted. Will the following server setup be enough to handle these requirements?

enter image description here

With this being my first such serious job I would be thankful to receive comments on my design and some information about what hardware specs are typical for a design like this.

share|improve this question

marked as duplicate by MDMarra, Michael Hampton, rnxrx, mdpc, Iain Nov 1 '12 at 13:20

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

I'd highly advise looking at varnish. You can get 15k/sec out of apache if you set it up right, but beyond that we needed varnish. As MDMarra says though, it's always comparing apples and oranges. – Sirex Sep 26 '12 at 0:53
up vote 1 down vote accepted

There's no way to be certain of the performance requirements without knowing a lot more about your application and/or testing (which you'll want to do anyway) but certainly any modern correctly-configured server should be able to handle the SSL and static content at that level easily (something like a HP DL3x0 Gen8 or IBM/Dell equivalent), whether your application can keep up is going to be a mystery but if it's not too complex then I'd suggest that you're probably going to be just fine with that class of machine.

The trick is to leave yourself another 'gear' that you can quickly change into if needed, so for instance if you think you'd be fine with a single CPU then get the most cores on one CPU and leave the second or subsequent CPU slot free - that way you can simply add a new CPU (you may have to modify memory layout too) and you get a healthy performance increase for say $£1k without having to make any architectural changes. If you have a single CPU slot server you don't have this easy option. Obviously if you're using VMs this is whole lot easier still.

Also if you're planning on this first server providing two or more services then I'd create CNAMEs in your DNS structure to refer to each service right away from the start. That way your web service can point to your application services which in turn can point to your database services. On one machine this makes no difference but if you have to add say a dedicated application or database server you just need to build the server with the appropriate DNS name, migrate your data and switch off that service on the original machine, there'll be no other changes required to point to the second dedicated server - does that make sense?

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.