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.

Sean,
I worked for a company in the early 1980 (we used I8086 processor, 5mb drive, 512k memory with 4 serial ports) that provided a Management Information System for call centers operated by the former Bell Operating Companies. We had over 300 of them around the US, in very large call centers.
Part of the product was a scheduling program that used Erlang B and C, along with Poisson Theory to create schedules for the agents shifts, including breaks, lunches, vacations, doc appointments, etc. based on past call history, and along with future predictions of incoming calls based on that history, with most recent giving higher presendence, and using queue time, abandons, busy, etc. It worked very well, to the point that we adjusted our predictions every half hour to make minor adjustments, follow union labor rules, etc.
SHould be fun stuff to learn!
I’ve read some notes about your video on troubleshooting VOIP with Wireshark, but can’t find a link to it – although I’m scouring your blog now hoping to find it.
Can you comment to me on if you know of any good analytical tools that work with wireshark, or are standalone, that do a good job of analyzing SIP? I’m hoping to find something that can see errors in the SIP signalling, etc. that can be used for troubleshooting in the field.
Thanks for any help you can offer.
July 19th, 2010 at 12:32 am