Difference between revisions of "Softswitch performance"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(45 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== General information ==
The system performance in ideal conditions (no extensive GUI usage and no transcoding):


Performance results in the following conditions ([[Recommended_hardware_for_MOR_server |recommended hardware]] is used, SIP protocol, no transcoding, CPS is low (<5), GUI/DB on another server, other processes than calls are not in use) are:
* 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
 
* 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.


* MOR - 500 concurrent calls*
* M2 - 1000 concurrent calls*
<br>
<br>
'* We cannot guarantee such amount of concurrent calls as many factors influence it:
== Factors that influence softswitch performance ==


* [[Recommended_hardware_for_MOR_server | Hardware specifications]] (CPU, RAM, HDD type - 5400/7200 rpm, SSD, SAS, Raid, etc.)
* [[Recommended_hardware_for_MOR_server | Hardware specifications]] (CPU, RAM, HDD type - 5400/7200 rpm, SSD, SAS, Raid, NIC etc.)
* Network (routers/switches)
* Network (routers/switches)
* Providers (connectivity, quality, PDD)
* Providers (connectivity, quality, PDD)
Line 23: Line 25:
* etc
* etc
<br>
<br>
If you need better performance than single server solution can offer, you should use [[Implementations | multi-server implementations]].
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?]
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>
<br>
<br>


== Real examples ==
== Screenshots from real use cases ==


In all of below examples companies are using [[Recommended_hardware_for_MOR_server | recommended hardware]].  
In all of the below examples, companies were using [[Recommended_hardware_for_MOR_server | recommended hardware]].  


=== Wholesale transit business #1 ===
=== MOR, single server solution, Wholesale Transit business ===  


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


* 2 SIP balancers (in redundancy)
'''Results''': up to 500 concurrent calls, up to 1500 call attempts per minute.
* 3 Asterisk (MOR) servers
* 2 DB/GUI server (with MySQL replication, redundancy)


Results: up to 1000 concurrent calls, up to 1500 call attempts per minute (25 CPS)
[[File:8.png]]


[[File:1.png]]
[[File:9.png]]
 
[[File:2.png]]
<br><br>
<br><br>


=== Wholesale transit business #2 ===  
=== MOR, 4-servers solution, Wholesale Transit business ===


Implementation:
'''Implementation''': [[SIP_balancer | SIP balancer]], 3 Asterisk (MOR) servers and DB/GUI server.


* 1 Asterisk (MOR) + DB + GUI server
'''Results''': 1200 concurrent calls,  1500 call attempts per minute.


Note: '''GUI is not used almost at all''', '''server has 24 cores'''.
[[File:115_Load_Stats.png]]
<br>
Results: up to 500 concurrent calls, up to 1500 call attempts per minute (25 CPS)
 
[[File:8.png]]


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


=== Retail business #1 ===


Implementation:
<br><br>


* 1 Asterisk (MOR) server
=== M2, 7-servers solution, Wholesale Transit business ===
* 1 DB + GUI server


Note: main business - incoming calls through DIDs
'''Implementation''': [[SIP_balancer | SIP balancer]], 5 Freeswitch (M2) servers and DB/GUI server.
<br>
Results: up to 100 concurrent calls, up to 50 call attempts per minute (1 CPS)


[[File:10.png]]
'''Results''': 6105 concurrent calls, up to 6400 call attempts per minute.


[[File:11.png]]
[[File:6105cc.png]]
<br><br>
<br><br>
=== Calling Cards and Retail business #1 ===
Implementation:
* 1 Asterisk (MOR) + DB + GUI server
Note: main business - calling cards and retail
<br>
Results: up to 100 concurrent calls, up to 800 call attempts per minute (13 CPS)


[[File:12.png]]
[[File:13.png]]
<br><br>


==See also==
==See also==
 
* [[CPS_Limit | CPS Limit]]
* [[Recommended_hardware_for_MOR_server | Recommended hardware]]
* [[Recommended_hardware_for_MOR_server | Recommended hardware]]
* [[Performance tests | Results of MOR stress tests]]
* [[M2_Switch_Stress_Test | Results of M2 stress tests]]
* [http://blog.kolmisoft.com/how-do-you-select-a-softswitch-based-on-concurrent-calls/ How do you select a softswitch based on concurrent calls?]
* [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:56, 21 December 2023

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
  • 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