[Freeswitch-users] Freeswitch CPU consumption on AWS EC2

ziv at ip-com.co.il ziv at ip-com.co.il
Mon Oct 12 08:34:29 UTC 2020

Assuming it’s 1258 one-session calls, and remembering that c5.4xlarge has 4 times more CPU than c5.xlarge, and taking into account that my test was on 30 seconds call vs. 200 seconds call in your test, it seems that our findings are similar.

This makes the FreeSWITCH deployment costly. There must be a way to reduce CPU consumption.


From: FreeSWITCH-users <freeswitch-users-bounces at lists.freeswitch.org> On Behalf Of Sergey Safarov
Sent: Monday, October 12, 2020 10:30 AM
To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
Subject: Re: [Freeswitch-users] Freeswitch CPU consumption on AWS EC2


my test results using sipp script �+  �FreeSWITCH docker container �+ PCMU on �c5.4xlarge instance only audio stream. Each call duration is 200 seconds.

Tested Kazoo all-in-one install. So, here some overhead exit for Elang components.

According to load test on c5.4xlarge Amazon instance after 282 seconds is reached 1258 simultaneous calls at 6 calls per second rate. During the test all calls and registrations are successful. During the test CPU load is reached 79% value, memory usage 7Gb, and 150 mb/s total network usage over all docker containers on "all-in-one" Kazoo configuration.




On Sun, Oct 11, 2020 at 1:51 PM <ziv at ip-com.co.il <mailto:ziv at ip-com.co.il> > wrote:



We run FreeSWITCH on Amazon AWS EC2, using the c5.xlarge machine size, meaning 4 CPUs with hyper-threading, sums up to 8 vCpu.

In time of high-traffic, the system is reaching 100% CPU at about 400 concurrent sessions, which is typically 200 calls (2 sessions per call).

RTP is sent as G-711. SIP signaling is this test is UDP (no TCP or other protocols).

These numbers are after reducing the log level and moving the core-dsn to memory.

The dialplan in this test is very simple.

ulimit values are as recommended in FreeSWITCH documentation.

On thread level, we see many threads that consume <1.5% CPU. Several threads consume more, apparently the signaling.



Do these numbers make sense? We expected to see much more traffic before the CPU is congested.

Are there simple tricks to reduce the CPU usage (as we did with changing the log level)

Is there a way to analyze the CPU consumption so we can try and improve?




The FreeSWITCH project is sponsored by SignalWire https://signalwire.com
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.
Build your next product on our scalable cloud platform.

Join our online community to chat in real time https://signalwire.community

Professional FreeSWITCH Services
sales at freeswitch.com <mailto:sales at freeswitch.com> 

Official FreeSWITCH Sites

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org <mailto:FreeSWITCH-users at lists.freeswitch.org> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20201012/b4ec30c6/attachment-0001.html>

More information about the FreeSWITCH-users mailing list