M4 System Architecture

From Kolmisoft Wiki
Jump to navigationJump to search

Each box/rectangle represents 1 real hardware server, not a virtual machine (VM).

If you want to design the system with VMs, take note of how many real servers are used.

You can have many VMs but if they are all on the same hardware server - there will not be enough processing power to handle the load.

All elements can be on the VMs, but the results will vary case by case.



(A) Everything in one server (for Testing only)

A.png

  • CPS: 100
  • Concurrent Calls (CC) with Media Proxy (media goes over the system): 500
  • Concurrent Calls (CC) without Media Proxy (media goes directly between originator and terminator): 1000
  • Concurrent Calls (CC) with transcoding can be from 400 to 500, depending on Codecs/CPU/NIC. More details

NOTE: Any GUI usage will reduce CC/CPS a lot. Not recommended for production, only for light testing.



(B) 2 server solution

Signaling/Media separated from Processing(Core)/Management(GUI)/Database

B.png

  • CPS: 300
  • Concurrent Calls with Media Proxy: 2000
  • Concurrent Calls without Media Proxy: 4000
  • Concurrent Calls (CC) with transcoding can be from 400 to 2000, depending on Codecs/CPU/NIC. More details

NOTE: Heavy GUI usage (report generation/analysis, etc) will reduce CC/CPS.



(B-R) Redundant 4 server solution

B-R.png

CPS/Concurrent Calls same as in the system without redundancy. If GUI uses slave DB, then CPS/CC can be higher compared to the system without redundancy.



(B2) 3 server solution

Signaling/Media + Processing(Core)/Database + Management(GUI)

B2.png

  • CPS: 500
  • Concurrent Calls with Media Proxy: 2500
  • Concurrent Calls without Media Proxy: 5000
  • Concurrent Calls (CC) with transcoding can be from 400 to 2500, depending on Codecs/CPU/NIC. More details

NOTE: Heavy GUI usage (report generation/analysis, etc) will reduce CC/CPS.



(B3) 3 server solution with MySQL Replication

Almost the same as B2 but with Slave DB for the GUI.

B3.png

  • CPS: 500
  • Concurrent Calls with Media Proxy: 2500
  • Concurrent Calls without Media Proxy: 5000
  • Concurrent Calls (CC) with transcoding can be from 400 to 2500, depending on Codecs/CPU/NIC. More details

NOTE: GUI usage will not impact CC/CPS at all.



(B3-R) 3+1 server solution with partial redundancy and MySQL Replication

B3-R.png

  • CPS: 500
  • Concurrent Calls with Media Proxy: 2500
  • Concurrent Calls without Media Proxy: 5000
  • Concurrent Calls (CC) with transcoding can be from 400 to 2500, depending on Codecs/CPU/NIC. More details

NOTE: GUI usage will not impact CC/CPS at all.



(C) N+3 server solution

Where N is Media(RTPEngine) servers. Each can handle media streams for ~4000 concurrent calls.

C.png

  • CPS: 1000
  • Concurrent Calls with Media Proxy: N x 4000 (max N=3. CC 10000)
  • Concurrent Calls without Media Proxy: 10000
  • Concurrent Calls (CC) with transcoding can be from 1200 to 8400, depending on Codecs/CPU/NIC. More details

NOTE: Heavy GUI usage (report generation/analysis, etc) will reduce CC/CPS.



(C-R) N+3 solution with redundancy

C-R.png


CPS/Concurrent Calls same as in the system without redundancy. If GUI uses slave DB, then CPS/CC can be higher compared to the system without redundancy under the same GUI usage.

If there are 2 core servers, Proxy will connect to the second Core server if the main one is offline.



See also