John C. Wolosuk Jr.
2007-Feb-15 09:44 UTC
[asterisk-users] Maximum Number of Calls Asterisk Can Handle
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? Also is the asterisk software written to effectively 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. 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? Feedback appreciated, -- ------------------------------------------- John C. Wolosuk Jr. Unix/Linux Systems Administrator Academic Computing & Communications Center University of Illinois @ Chicago E-Mail: jwolosuk at uic dot edu -------------------------------------------
Mailing Lists
2007-Feb-15 09:54 UTC
[asterisk-users] Maximum Number of Calls Asterisk Can Handle
John C. Wolosuk Jr. wrote:> 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? > > Feedback appreciated,Yes, it would be wrong to expect performance near that mark. Most systems cannot handle the TCP processing load generated by a gigabit ethernet interface, let alone process everything that goes along with calls associated with that traffic. A TCP offloader engine will help, but the limitation is still within Asterisk itself. There is a lot that goes into processing everything related to a call. Now, if you can get the media to be re-invited to a media gateway, then you can handle significantly more calls. My experience is that when you are running media through an Asterisk server, 240 calls is an average maximum for a typical server.
> 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?10922 on any currently available PC architecture? Nope. It's closer to 160 kpbs per call (two legs, 80 kbps each) in either direction. With 20 ms packet size, for 10922 calls you'd be looking at 2184400 packets/sec processed by Asterisk... I don't think so. Plus with 10922 calls and an average of 2 mins/call, you're looking at about 90 call setups/tear downs a second. I don't think even without running the RTP through Asterisk this box could handle 10922 concurrent calls. --Luki
Joshua Colp
2007-Feb-15 10:10 UTC
[asterisk-users] Maximum Number of Calls Asterisk Can Handle
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.
Reasonably Related Threads
- Saving Dialplan in CLI
- Subscribe/Notify MWI not working for non-numeric accounts w/X-Lite
- SLA Appearance between 2 Cisco 7960's (SIP)
- Replicating SIP Registrations Across Asterisk Servers
- CIFS Engineering Workshop in Mountain View, California: September 26-28th 2007