Difference between revisions of "M4 System Architecture"
m |
|||
(18 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Each box/rectangle represents 1 real [[Recommended hardware | hardware server]], not a virtual machine (VM). | |||
Each 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. | 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. | |||
<br><br> | <br><br> | ||
= (A) Everything in one server = | = (A) Everything in one server (for Testing only) = | ||
[[File:A.png]] | [[File:A.png]] | ||
* CPS: 100 | * CPS: 100 | ||
* Concurrent Calls with Media Proxy (media goes over the system): 500 | * Concurrent Calls (CC) with Media Proxy (media goes over the system): 500 | ||
* Concurrent Calls without Media Proxy (media goes directly between originator and terminator): | * Concurrent Calls (CC) without Media Proxy (media goes directly between originator and terminator): 1000 | ||
NOTE: | NOTE: Any GUI usage will reduce CC/CPS a lot. Not recommended for production, only for light testing. | ||
<br><br> | <br><br> | ||
= (B) 2 server solution = | = (B) 2 server solution = | ||
Signaling/Media separated from Processing(Core)/Management(GUI)/Database | Signaling/Media separated from Processing(Core)/Management(GUI)/Database | ||
Line 22: | Line 26: | ||
* CPS: 300 | * CPS: 300 | ||
* Concurrent Calls with Media Proxy: | * Concurrent Calls with Media Proxy: 2000 | ||
* Concurrent Calls without Media Proxy: 4000 | * Concurrent Calls without Media Proxy: 4000 | ||
Line 28: | Line 32: | ||
<br><br> | <br><br> | ||
= (B-R) Redundant | |||
= (B-R) Redundant 4 server solution = | |||
[[File:B-R.png]] | [[File: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. | 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. | ||
<br><br> | <br><br> | ||
Line 42: | Line 46: | ||
* CPS: 500 | * CPS: 500 | ||
* Concurrent Calls with Media Proxy: | * Concurrent Calls with Media Proxy: 2500 | ||
* Concurrent Calls without Media Proxy: 5000 | * Concurrent Calls without Media Proxy: 5000 | ||
Line 48: | Line 52: | ||
<br><br> | <br><br> | ||
= (B3) 3 server solution with MySQL Replication= | |||
Almost the same as B2 but with Slave DB for the GUI. | |||
[[File:B3.png]] | |||
* CPS: 500 | |||
* Concurrent Calls with Media Proxy: 2500 | |||
* Concurrent Calls without Media Proxy: 5000 | |||
NOTE: GUI usage will not impact CC/CPS at all. | |||
<br><br> | |||
= (B3-R) 3+1 server solution with partial redundancy and MySQL Replication = | |||
[[File:B3-R.png]] | |||
* CPS: 500 | |||
* Concurrent Calls with Media Proxy: 2500 | |||
* Concurrent Calls without Media Proxy: 5000 | |||
NOTE: GUI usage will not impact CC/CPS at all. | |||
<br><br> | |||
= (C) N+3 server solution = | = (C) N+3 server solution = | ||
Line 55: | Line 85: | ||
* CPS: 1000 | * CPS: 1000 | ||
* Concurrent Calls with Media Proxy: N x 4000 | * Concurrent Calls with Media Proxy: N x 4000 (max X=3. CC 10000) | ||
* Concurrent Calls without Media Proxy: 10000 | * Concurrent Calls without Media Proxy: 10000 | ||
Line 61: | Line 91: | ||
<br><br> | <br><br> | ||
= (C-R) N+3 solution with redundancy = | = (C-R) N+3 solution with redundancy = | ||
Line 66: | Line 97: | ||
<br> | <br> | ||
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. | 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. | ||
<br><br> | |||
= See also = | |||
* [[Recommended hardware]] |
Revision as of 12:50, 1 September 2021
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)
- 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
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
- CPS: 300
- Concurrent Calls with Media Proxy: 2000
- Concurrent Calls without Media Proxy: 4000
NOTE: Heavy GUI usage (report generation/analysis, etc) will reduce CC/CPS.
(B-R) Redundant 4 server solution
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)
- CPS: 500
- Concurrent Calls with Media Proxy: 2500
- Concurrent Calls without Media Proxy: 5000
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.
- CPS: 500
- Concurrent Calls with Media Proxy: 2500
- Concurrent Calls without Media Proxy: 5000
NOTE: GUI usage will not impact CC/CPS at all.
(B3-R) 3+1 server solution with partial redundancy and MySQL Replication
- CPS: 500
- Concurrent Calls with Media Proxy: 2500
- Concurrent Calls without Media Proxy: 5000
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.
- CPS: 1000
- Concurrent Calls with Media Proxy: N x 4000 (max X=3. CC 10000)
- Concurrent Calls without Media Proxy: 10000
NOTE: Heavy GUI usage (report generation/analysis, etc) will reduce CC/CPS.
(C-R) N+3 solution with redundancy
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.