12

We periodically get the "Help me size my wholly unspecified application" questions, like What capacities should have a hosting to support an average of 1000 registered users simultaneously? or Server requirement for running an application having huge network traffic.

Have we already worked up a canonical answer for these types of questions?

To a comment I made on the first question cited above, @squillman said 'Yeah, the canonical duplicate is "Not a real question"', but I'd argue that there's probably some value in a well thought out answer describing the need for a scientific process of capacity planning.

To my mind, anyone who would even think to ask such a question is clearly in need of some basic guidance (and, hopefully, can be made to understand that there is science to capacity planning and that "number of users" or some other catch-all value isn't the only data point used in planning). Closing these questions as "not a real question" doesn't point the OP in the right direction, and they end up still living in their happy fantasy world of cut-and-dried capacity planning via a single data point.

5
  • 15
    Wow... so that's what the "Ask Question" UI looks like... >smile< Feb 21, 2012 at 18:42
  • 3
    Weird and unfamiliar, innit?
    – sysadmin1138 Mod
    Feb 21, 2012 at 18:44
  • 1
    You raise a good point. While my comment was somewhat tongue-in-cheek, it was still somewhat serious. We should have a canonical question that gives (at least at a high level) some generic guidance for the askers of these questions.
    – squillman
    Feb 21, 2012 at 19:47
  • I'd argue that anyone posting such questions probably doesn't belong on a site for professionals. Feb 21, 2012 at 20:32
  • Would it be reasonable to send a message to the OP a link to the FAQ in cases where they are closed as NARQ?
    – gWaldo
    Feb 22, 2012 at 15:01

3 Answers 3

7

I did some writing about two weeks back that included me rambling on that... we can probably pick or even draft up a question on which I can talk about start small, measure, and scale well.

There is no shortage of folks running around the world trying to create the next Facebook. They crop up regularly on Serverfault asking what it takes to handle 10,000 connections per second for their next big idea website. I don’t have any good examples to reference because they’re bad questions; bad questions are closed and deleted. What those questions would show is a common problem in the world of system administration: the basic lesson unlearned.

...

Always Measure

There are an ample supply of questions on Serverfault consisting of, “Is this faster or why is that slower, etc.” The answer to those questions in most cases is, “we don’t know you hardware, measure it and find out.” A computer consists of multiple finite resources and in most cases bottlenecks on one of those resources. Most of the time that resource limitation is available memory, processor speed, or disk speed. There are others besides the big three, but the answer is always to measure, locate, and alleviate in a cost-effective way.

Thus, when it comes to adding services don’t tell me SSL is too slow, but rather tell me what it limits you to for speed. A good example I came across this past week was figuring out the cost of / most cost effective way to provide SSL on EC2. I was impressed that the asker had done a lot of homework before and took a look at comparable benchmarks to determine that things “didn’t feel right.” I find many questions where this task isn’t completed. So, whenever you start, consider if $whatever is worth the cost, and do it with a “de minimis” in mind — don’t calculate the small stuff, but if a few thousand in hardware or time is on the line, think it out. Sometimes cost isn’t the only factor, but be aware of it.

Finally, do the default to start. What works 90% of the time for 90% of of folks will probably work for you, or at least be a good starting point to compare against. Optimizing for a target before you’ve been able to measure it is, thanks to the laws of thermodynamics, comparable in efficiency to lighting money on fire. Both will generate heat, but I wouldn’t count on much more besides some ash and a waste of resources.

4
  • This would be a great component of a larger answer
    – voretaq7
    Feb 21, 2012 at 19:50
  • @voretaq7 Yeah, I just got a "Thanks. Is a single VPS as web-server/app-server enough to start during initial phases ? (My application offers a networking & socializing platform to a niche community of users) How do I decide about the no of VPS as app servers required?"... I'll write this up in the next 24 hours. Feb 21, 2012 at 20:04
  • Once I start building the algebraic equations eyes start glazing over.
    – sysadmin1138 Mod
    Feb 21, 2012 at 22:23
  • I began a wiki question for this purpose serverfault.com/q/350454/50875. I'd love to see this addition!
    – gWaldo
    Feb 22, 2012 at 15:05
2

The closest one we have right now is probably this one:

How do you do load testing and capacity planning for web sites?

And another for databases.

2
  • Perhaps it should be re-written into something a bit more generic? Lots of useful information already there.
    – pauska
    Feb 21, 2012 at 19:12
  • 3
    I'm not sure we should rewrite the existing ones - I think a generic canonical "Can you help me with my capacity planning" question (that then links to these other questions in the answer) would make more sense.
    – voretaq7
    Feb 21, 2012 at 19:25
0

This is what I was trying to address with my Meta question Can we weed out the benchmarking questions?

What I got from the answers was that we could do away from these if there were Canonical Questions, so I wrote How do you do Load Testing and Capacity Planning for Web Sites and How do you do Load Testing and Capacity Planning for Databases

I also believe that there was a section of the FAQ added in order to address these broadly-answerable questions. (I can't find it now. Perhaps it was part of a discussion...)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .