Sean’s Obsessions

Sean Walberg’s blog

How Many Mongrels or FastCGI Processes Do I Need?

I’m sitting in a course on call centre design, and yesterday there was mention of Erlangs, which are a unit of measure of the volume of traffic on a telecommunications network. These Erlangs can be used to calculate how many agents a call centre needs (or, given the number of agents, what service level can be expected)

The Erlang C model is used for this, it has the built in assumption that if agents are busy then the callers queue. This is much like a Mongrel or FastCGI “agent”, with requests coming in from a front end web server.

Using the Erlang C calculator here, I can figure out how many agents I need, given the desired service level.

  • Arrivals: 600/minute (10 req/sec)
  • Service time: 0.2s
  • Service level: 99.9% within 0.3 s

Gives 5 agents or Mongrels. From there you can work backward with existing models to figure out how many computers you need.

With the calculator you can also fix the number of agents and figure out capacity, or blockage, or whatever.

This assumes that incoming requests follow the Poisson distribution, which I have no idea if it is true. Anyone?
Edit: Sorry, I managed to lose half the post and had to redo it.

Comments

I’m trying something new here. Talk to me on Twitter with the button above, please.