Difference between revisions of "Softswitch performance"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(103 intermediate revisions by 7 users not shown)
Line 1: Line 1:
'''The number of simultaneous calls is limited only by the capabilities of your machine.'''
The system performance in ideal conditions (no extensive GUI usage and no transcoding):


* MOR single-server solution - up to 500 concurrent calls, up to 50 CPS (most of the time it's closer to 20).
* MOR [[Implementations | multi-server solution]] - up to 2000 concurrent calls, up to 100 CPS (most of the time it's closer to 60).


It is important to note that simultaneous calls depend on the hardware you are using.
* M4 single-server solution - up to 500 concurrent calls, up to 100 CPS
* M4 [[M4_System_Architecture | multi-server solution]]- up to 10 000 concurrent calls, up to 1000 CPS.


==2009.02.10 231 sim. calls alaw-g729 reencoding ==
<br>
== Factors that influence softswitch performance ==  


* [[alaw2g729 stress test]] 231 calls
* [[Recommended_hardware_for_MOR_server | Hardware specifications]] (CPU, RAM, HDD type - 5400/7200 rpm, SSD, SAS, Raid, NIC etc.)
 
* Network (routers/switches)
==2009.02.10 645 sim. calls SIP pass-through ==
* Providers (connectivity, quality, PDD)
 
* CPS (if you accept a lot of short calls at the same time (so called dialer or call center traffic), softswitch performance decreases)
* [[SIP pass-through test]] 645 calls
* Structure of call (signalling only or signalling with media)
 
* Processes, running on the same time (if you generate invoices, statistics or run other processes, softswitch performance decreases)
==2009.02.10 597 sim. calls SIP -> H323 ==
* Additional functionality usage (if you record calls, use different IVR structures, softswitch performance decreases)
 
* Codec and protocol used
* [[SIP2H323 pass-through test]] 597 calls
* Protocol and codec conversion (in case of transcoding performance decreases two times)
 
* Calls length (if you accept a lot of short calls at the same time (so called dialer or call center traffic), softswitch performance decreases)
==2009.02.07 550 sim. calls H323 pass-through ==
* DB and GUI on same server or on the separate (if you separate DB and GUI, you can increase performance)
 
* SIP balancer present or not (if you use SIP balancer in front of the servers, you can increase performance)
* [[H323 pass-through test]] 550 calls
* Business model (Calling Card, Callback and Call Center calls decreases softswitch performance)
* etc
<br>
See also: [http://blog.kolmisoft.com/how-do-you-select-a-softswitch-based-on-concurrent-calls/ How do you select a softswitch based on concurrent calls?]


<br>


==2008.03.01 1575 simultaneous calls (2049 channels)==
== Screenshots from real use cases ==


* 2 x Quad-Core Xeon 5300 "clovertown"
In all of the below examples, companies were using [[Recommended_hardware_for_MOR_server | recommended hardware]].  
* 4 Gb RAM
* Debian 4.0
* 2.6.18-5-amd64 #1 SMP Tue Oct 2 20:37:02 UTC 2007 x86_64 GNU/Linux
* Asterisk 1.4.15
* canreinvite=no*
* ~15% calls with transcoding (~85% calls no transcoding)
* '''CPU busy 83% (17% idle)'''
* Comments:
** Why channels/2 != calls?
** Because not all of them were connected
** and when the system is loaded the channels stats update slow
** in that day we got to almost 3500 cc
** when you have a lot of invites, the system gets very slow
** we got to 220 setup calls per second
** and the system was very heavy
** in that load, your app was very good, however mysql become the bottleneck
** so i had to tweak it a little bit, but we already talked about it.
** With your app, from the time we installed, we already did more then 30M minutes.
** This setup can handle around 4k cc easily, with no high rate cs per second


[[Image:asterisk1575.png|300 px]]
=== MOR, single server solution, Wholesale Transit business ===


<br><br>
'''Implementation''': single server with 24 cores, GUI is not used almost at all.


==2008.02.18 906 simultaneous calls (1801 channels)==
'''Results''': up to 500 concurrent calls, up to 1500 call attempts per minute.


* 2 x Quad-Core Xeon 5300 "clovertown"
[[File:8.png]]
* 4 Gb RAM
* Debian 4.0
* 2.6.18-5-amd64 #1 SMP Tue Oct 2 20:37:02 UTC 2007 x86_64 GNU/Linux
* Asterisk 1.4.15
* canreinvite=no*
* ~15% calls with transcoding (~85% calls no transcoding)
* '''CPU busy 58% (42% idle)'''
[[Image:asterisk906.jpg|300 px]]
[[Image:top906.jpg|300 px]]


[[File:9.png]]
<br><br>
<br><br>
==2008.05.10 834 simultaneous calls ==


* Debian Etch
=== MOR, 4-servers solution, Wholesale Transit business === 


uname -a
'''Implementation''': [[SIP_balancer | SIP balancer]], 3 Asterisk (MOR) servers and DB/GUI server.
Linux cl-t041-080cl 2.6.18-6-686-bigmem #1 SMP Sun Feb 10 22:21:07 UTC 2008 i686 GNU/Linux


cat /proc/cpuinfo
'''Results''': 1200 concurrent calls1500 call attempts per minute.
8 x Intel(R) Xeon(R) CPU          E5405  @ 2.00GHz
cpu MHz        : 2000.190
cache size      : 6144 KB
 
cat /proc/meminfo
MemTotal:     6229536 kB
 
asterisk -vvvvR
Asterisk 1.4.18.1, Copyright (C) 1999 - 2008 Digium, Inc. and others.
 
  module show like mor
app_mor.so                    MOR Billing Solution v0.6.0              0
 
 
[[Image:834calls.png|300 px]]


[[File:115_Load_Stats.png]]


[[File:115_Load_Statsatm.png]]
<br><br>
<br><br>


==2008.01.17 637 simultaneous calls (1274 channels)==
* 2 x Quad-Core Xeon 5300 "clovertown"
* 4 Gb RAM
* Debian 4.0
* 2.6.18-5-amd64 #1 SMP Tue Oct 2 20:37:02 UTC 2007 x86_64 GNU/Linux
* Asterisk 1.4.15
* canreinvite=no*
* no transcoding
* '''CPU busy 10% (90% idle)'''


<br><br>
<br><br>
==2008.01.17 608 simultaneous calls (1215 channels)==


* 2 x Quad-Core Xeon 5300 "clovertown"
=== M2, 7-servers solution, Wholesale Transit business ===
* 4 Gb RAM
* Debian 4.0
* 2.6.18-5-amd64 #1 SMP Tue Oct 2 20:37:02 UTC 2007 x86_64 GNU/Linux
* Asterisk 1.4.15
* canreinvite=no*
* '''CPU busy 6.7% (93.3% idle)''' no transcoding
* CPU 30-35% with transcoding


[[Image:608calls.png|300 px]]
'''Implementation''': [[SIP_balancer | SIP balancer]], 5 Freeswitch (M2) servers and DB/GUI server.


<br>
'''Results''': 6105 concurrent calls, up to 6400 call attempts per minute.
----
<br>


* canreinvite=yes means that voice traffic goes from client to provider, directly bypassing the MOR system.
[[File:6105cc.png]]
<br><br>
<br><br>
==How can I increase the number of simultaneous calls?==


Easiest way to increase the number of simultaneous calls is to connect an additional Asterisk server to your current MOR server.


Other implementations which can help you to increase the number of simultaneous calls can be found [[Implementations | here]].
==See also==
* [[CPS_Limit | CPS Limit]]
* [[Recommended_hardware_for_MOR_server | Recommended hardware]]
* [http://blog.kolmisoft.com/how-do-you-select-a-softswitch-based-on-concurrent-calls/ How do you select a softswitch based on concurrent calls?]
* [[Performance Suggestions]]

Latest revision as of 13:37, 13 September 2024

The system performance in ideal conditions (no extensive GUI usage and no transcoding):

  • MOR single-server solution - up to 500 concurrent calls, up to 50 CPS (most of the time it's closer to 20).
  • MOR multi-server solution - up to 2000 concurrent calls, up to 100 CPS (most of the time it's closer to 60).
  • M4 single-server solution - up to 500 concurrent calls, up to 100 CPS
  • M4 multi-server solution- up to 10 000 concurrent calls, up to 1000 CPS.


Factors that influence softswitch performance

  • Hardware specifications (CPU, RAM, HDD type - 5400/7200 rpm, SSD, SAS, Raid, NIC etc.)
  • Network (routers/switches)
  • Providers (connectivity, quality, PDD)
  • CPS (if you accept a lot of short calls at the same time (so called dialer or call center traffic), softswitch performance decreases)
  • Structure of call (signalling only or signalling with media)
  • Processes, running on the same time (if you generate invoices, statistics or run other processes, softswitch performance decreases)
  • Additional functionality usage (if you record calls, use different IVR structures, softswitch performance decreases)
  • Codec and protocol used
  • Protocol and codec conversion (in case of transcoding performance decreases two times)
  • Calls length (if you accept a lot of short calls at the same time (so called dialer or call center traffic), softswitch performance decreases)
  • DB and GUI on same server or on the separate (if you separate DB and GUI, you can increase performance)
  • SIP balancer present or not (if you use SIP balancer in front of the servers, you can increase performance)
  • Business model (Calling Card, Callback and Call Center calls decreases softswitch performance)
  • etc


See also: How do you select a softswitch based on concurrent calls?


Screenshots from real use cases

In all of the below examples, companies were using recommended hardware.

MOR, single server solution, Wholesale Transit business

Implementation: single server with 24 cores, GUI is not used almost at all.

Results: up to 500 concurrent calls, up to 1500 call attempts per minute.

8.png

9.png

MOR, 4-servers solution, Wholesale Transit business

Implementation: SIP balancer, 3 Asterisk (MOR) servers and DB/GUI server.

Results: 1200 concurrent calls, 1500 call attempts per minute.

115 Load Stats.png

115 Load Statsatm.png




M2, 7-servers solution, Wholesale Transit business

Implementation: SIP balancer, 5 Freeswitch (M2) servers and DB/GUI server.

Results: 6105 concurrent calls, up to 6400 call attempts per minute.

6105cc.png


See also