John C. Wolosuk Jr. wrote:
Can anyone share their experience on the maximum number of calls a given asterisk box/asterisk software can handle? I see the asterisk business edition can handle up to 240 simultaneously with appropriate licensing, but that doesn't seem to be many at all.

For now, I plan to use the stable open source versions - would it be reasonable to say that it is more of hardware limitation on the number of calls that can be made simultaneously, or are there only so many calls the asterisk software programming is equipped to handle simultaneously?

Hardware plays a part as does what you are doing. The execution of different things for different tasks can also yield different scaling issues.

First example:

Simple channel comes in channel goes out with no media scenario. Asterisk is obviously going to scale better since it doesn't have to do as much. It's basically handling signalling and call setup/teardown.

Second example:

Simple channel comes in channel goes out with media.
Media is going to be moved from kernel space to user space, sent to the other channel in an Asterisk frame (which may or may not allocate memory, depending on if you are using 1.4 and caching), turned into a proper frame to be sent out to network (in the case of RTP it gets RTP headers attached), moved to kernel space, and sent. This can be a very intensive process and doesn't scale as well as above obviously.

Also is the asterisk software written to effectively take advantage of multiple processors?

Yes, it is multithreaded and can take advantage of multiple processors.

The systems I plan to use for asterisk have the following specs:

dual 2.8GHZ+ Pentium's
2GB RAM+
Gigabit interfaces

In my situation, I have no plans to run anything other than G.711/SIP, so my transcoding need is probably only limited to the playback of pre-recorded messages as well as any processing involved in leaving voicemail.

Your issue is probably going to be hard disk access. For example: With minimal tweaking on my development machine I can get 330 channels up with full RTP in both directions playing back audio from a hard disk. If I move to a ramdisk based solution this goes up to 550. That's a 220 channel increase. Pushing the channels past this yields degraded audio quality. (AMD Athlon64 X2 4200+ with 1GB of RAM, 80GB SATA hard drive for those who are curious).

The easiest way to know though is to setup your system and test it using something like sipp. Identify where your bottlenecks are and see what you can do to alleviate them. In the above scenario hard disk access was a bottleneck so I took it out of the picture and look what happened.

in theory, a gigabit interface can move 1048576Kbit/sec - now if i generously allocate 96Kbit/sec for every G.711 call, the network transport can handle, again in theory, 10922 simultaneous calls. would it be wrong to expect performance near this mark for the asterisk software?

In a perfect world maybe that would happen but this is a simple PBX running on Linux.

Joshua Colp
Software Developer
Digium, Inc.

_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to