[asterisk-users] Maximum Number of Calls Asterisk Can Handle
Joshua Colp
jcolp at digium.com
Thu Feb 15 10:10:32 MST 2007
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.
More information about the asterisk-users
mailing list