forked from ictinnovations/ictcore
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Some fixes changes made during benchmarking to improve ICTCore perfor…
…mance
- Loading branch information
Showing
8 changed files
with
123 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -95,4 +95,4 @@ public function config_reload() | |
Corelog::log('Gateway->config_reload', Corelog::WARNING); | ||
} | ||
|
||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
ICTCore Dimensioning | ||
==================== | ||
We have tested ICTCore on 4 CPU / 8 GB RAM / SSD HD instance and have collected following results | ||
|
||
Note: before testing it is required to increase file limit for freeswitch, which can be done by including following line in /lib/systemd/system/freeswitch.service | ||
|
||
LimitNOFILE=100000 | ||
LimitNPROC=60000 | ||
|
||
With single campaign | ||
-------------------- | ||
A single campaign has produced 18 call per seconds which resulted in 400 active calls while tested with a message having 24 seconds duration. it mean system will be able to produce 800 concurrent calls if call duration will be 60 seconds | ||
|
||
* cps: 18 | ||
* concurrent calls: 800 | ||
|
||
|
||
With multiple campaigns | ||
----------------------- | ||
Multiple campaigns have produced 24 call per seconds which resulted in 600 active calls while tested with a message having 24 seconds duration. it mean system will be able to produce 1200 concurrent calls if call duration will be 60 seconds | ||
|
||
* cps: 26 | ||
* concurrent calls: 1200 | ||
|
||
|
||
Bottlenecks | ||
----------- | ||
|
||
We have identified following bottlenecks in our testing | ||
|
||
* Database server (MySQL) | ||
* Freeswitch dialplan (lua script) | ||
|
||
Recommendations | ||
--------------- | ||
To further improve ICTCore performance it is recommended to | ||
|
||
### Freeswitch dialplan | ||
* Use multiple and distributed Freeswitch instances | ||
* Replace lua scripts with something faster, or rewrite those script to improve performance | ||
|
||
### Database server | ||
* Use SSD hard-disks | ||
* Use a separate server for database (MySQL) hosting | ||
* For larger setups database load balancer can be used | ||
* Avoid database queries where ever possible | ||
|