[Freeswitch-dev] Fwd: Call Center - Memory Leak

Anthony Minessale anthony.minessale at gmail.com
Mon Apr 25 21:28:49 MSD 2016


You can compile FS under ASAN to check for memory leaks. Or you can try
running it on valgrind and make just 1 or 2 calls.
Also did your test ever pause for 15 or 20 min to allow no callers to see
if any of the memory was recycled?
P.S this should be a JIRA not a discussion on the mailing list.


On Mon, Apr 25, 2016 at 12:18 PM, Nicholas Blasgen <nicholas at hellohunter.com
> wrote:

> NewRelic, which you seem to be using, also provides per-application memory
> usage.  Would be nice to see that after a day or partial day run.
>
> Freeswitch uses a good amount of memory per channel.  Are you sure the
> channels are being released?  fs_cli -x status >> log_file ... and maybe
> run it on a crontab just to make sure the channels are being released.
>
> Besides that, I personally don't have any ideas without recreating your
> test environment.  I guess you could see if FIFO or Scheduled Hangup is the
> issue by calling HANGUP instead of FIFO for extension 7011.  I've never
> personally used Schedule Hangup and as that's the method being used here to
> release the channels, it might be a concern.
>
>
> Nicholas Blasgen
> Developer
> Predictive Dialer Limited
> +1 (724) 252-7436 (cell)
> Skype: nblasgen
>
> 24/7 Support available:
> www.hellohunter.com | (800) 513-5555 | skype hello.hunter |
> support at hellohunter.com
>
> On Mon, Apr 25, 2016 at 6:11 AM, Mersed Kahrimanovic <
> kahrimanovic.mersed at gmail.com> wrote:
>
>> Hello,
>>
>> We have implemented call center using a freeswitch as switch for handling
>> calls. It is basically the logic where you have an agents within the queue
>> waiting for an contacts to come in, or contact within the queue waiting if
>> there is no any agents available.
>>
>> For this kind of implementation we used pure lua and hash tables (and not
>> mod_fifo) in order to have a better flexibility and possibility to manage
>> different contact/agent states.
>>
>> Everything was working fine on our old servers, now we are migrating to
>> the cloud and we are using aws for that purpose, of course trying to cut
>> some costs.
>>
>> ---------------
>>
>> After initial setup of our solution we found out that there is a memory
>> leak causing for freeswitch to consume 3 - 10 MB per minute during
>> production hours.  (we did not notice anything on old servers because we
>> had like 24 cores and 94GB of ram on those).
>> This is not too much of course but the bottom point is that increase is
>> linear and its constantly raising consuming more and more of RAM.
>>
>> In order to isolate an issue and to conclude that we don't have an issue
>> within our solution I installed 1.6.7 version of freeswitch and setup
>> really simple call center with mod_fifo without anything else (totally
>> independent from call center we are working on)
>>
>> For the reference:
>>
>> *Aws:* m4.large
>>          vCPU: 2
>>          RAM: 8GB
>>          Throughput (Mbps): 450
>>
>> *Freeswitch version:* 1.6.7
>> *OS:* Debian GNU/Linux 8 (jessie)
>> *Number of agents:* 30
>> *Number of calls per agent:* 1
>> *Total numbers of channels at time:* 60
>> *Agents simulated with:* pjsip(http://www.pjsip.org/)
>> *Contact simulated with:* sipp(http://sipp.sourceforge.net/)
>> *Configuration:* I used configuration which came with installation of
>> freeswitch. The only things i changed is:
>>      - default password
>>      - internal rtp timeout
>>      - rtpip and sip ip
>>
>> Test scenario:
>> 1. Start the freeswitch.
>> 2. Autoload lua script is going to ring all of the internal (agents) and
>> push them to the extension where we had mod_fifo
>> 3. After some time, same autoload script is going to start calling
>> contacts each 800 miliseconds and push them to the extension where we have
>> mod_fifo.
>> 4. mod_fifo will do the rest, bridge agent with the contact and handling
>> the queue properly.
>>
>> As a result we will have 30 agents constantly "talking", and when ever
>> call is dropped we will have agent connected with another. Parameters for
>> the test match that scenario, and we dont have more then 60 - 65 channels
>> open at the time (never).
>>
>> Dialplan for handling mod_fifo
>> http://pastie.org/10812261
>>
>> Autoload lua script
>> http://pastie.org/10812263
>>
>> Result
>> http://prnt.sc/awm4ao
>>
>> The results are for 24hrs period, and indeed 24hrs is a lot. We will
>> never have production running more then 12hrs (and daily restart will
>> occur). But this basically means that we are not able to host more then
>> 40-45 agents on servers with 8GB of ram.
>>
>> My question is:
>> Is this something which can be considered as memory leak, or this is
>> simply how freeswitch works, behaves and requirements it have?
>>
>> Thank you,
>>
>> Mersed
>>
>>
>>
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://wiki.freeswitch.org
>> http://www.cluecon.com
>>
>> FreeSWITCH-dev mailing list
>> FreeSWITCH-dev at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>> http://www.freeswitch.org
>>
>>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
>


-- 
Anthony Minessale II       ♬ @anthmfs  ♬ @FreeSWITCH  ♬

☞ http://freeswitch.org/http://cluecon.com/http://twitter.com/FreeSWITCH
☞ irc.freenode.net #freeswitch ☞ *http://freeswitch.org/g+
<http://freeswitch.org/g+>*

ClueCon Weekly Development Call
☎ sip:888 at conference.freeswitch.org  ☎ +19193869900

https://www.youtube.com/watch?v=9XXgW34t40s
https://www.youtube.com/watch?v=NLaDpGQuZDA
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20160425/c6cd2d36/attachment.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-dev mailing list