[Freeswitch-users] FreeSwitch - Performance issues

Nathan Neulinger nneul at mst.edu
Fri Aug 28 18:04:21 MSD 2015


Yes, I know you said Hyper-V, I don't know if it has the same sort of scheduler behavior or not, just mentioned the 
vmware for context.

On 08/28/2015 08:46 AM, Nathan Neulinger wrote:
> One thing that I see jump out - you've probably got too many virtual cores defined on that VM, particularly since you've
> assigned # vcpu the same as the number of real cores on the host system.
>
> Try your test again dropping that to 8 virtual CPUs and I think you might see better results. (Or at least drop to less
> than 100% of the total cores on the hardware.)
>
> Particularly if this host system has other vms running on it, you're hurting the vm scheduler's ability to hand out
> resources. With vmware, I believe a simple rule of thumb is that scheduler requires N-1 CPUs to be locked to schedule
> execution of an N cpu virtual machine - so even if it doesn't need all of the CPUs, it has to reserve all of them any
> time you have more than a 2 vCPU vm.
>
> -- Nathan
>
> On 08/28/2015 08:18 AM, Michael Jerris wrote:
>> The numbers your posting are fairly low, I'm guessing this is a grossly underpowered vm that is causing your issues
>>
>> On Friday, August 28, 2015, Shaun Stokes <shaun.stokes at itec-support.co.uk <mailto:shaun.stokes at itec-support.co.uk>> wrote:
>>
>>      Hi Peter,____
>>
>>      __ __
>>
>>      Thanks for the advice, this is something we’re already looking into but we don’t have the new hardware available
>>      yet.____
>>
>>      __ __
>>
>>      Debian 8 has great integration with Hyper-V on 2012R2 and operates as a Generation 2 VM, obviously it’s never going
>>      to be as good as running directly on the hardware but we were hoping for better performance.____
>>
>>      __ __
>>
>>      Thanks,____
>>
>>      Shaun____
>>
>>      __ __
>>
>>      *From:*freeswitch-users-bounces at lists.freeswitch.org
>>      <javascript:_e(%7B%7D,'cvml','freeswitch-users-bounces at lists.freeswitch.org');>
>>      [mailto:freeswitch-users-bounces at lists.freeswitch.org
>>      <javascript:_e(%7B%7D,'cvml','freeswitch-users-bounces at lists.freeswitch.org');>] *On Behalf Of *Peter Olsson
>>      *Sent:* 28 August 2015 10:43
>>      *To:* FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org
>>      <javascript:_e(%7B%7D,'cvml','freeswitch-users at lists.freeswitch.org');>>
>>      *Subject:* Re: [Freeswitch-users] FreeSwitch - Performance issues____
>>
>>      __ __
>>
>>      If you want high performance, I recommend using real hardware, not a virtual machine setup - it will cause you
>>      issues.____
>>
>>      __ __
>>
>>      /Peter____
>>
>>      __ __
>>
>>      2015-08-28 9:44 GMT+02:00 Shaun Stokes <shaun.stokes at itec-support.co.uk
>>      <javascript:_e(%7B%7D,'cvml','shaun.stokes at itec-support.co.uk');>>:____
>>
>>          Hi Michael,____
>>
>>          ____
>>
>>          Thanks for the response and recommendation.____
>>
>>          ____
>>
>>          Our new build is now on Debian 8 Jessie, performance on the system is noticeably better and any audio problems
>>          while the system is under load are significantly reduced but we do still experience spikes along with reduced
>>          audio quality when the system is processing 20 calls per second while already maintaining 80 existing calls.____
>>
>>          ____
>>
>>          We’re still hitting some kind of bottleneck, what should we expect to be able to support on a single piece of
>>          hardware? We’ve kept our dialplans as small as possible and we’re using Memcache, but something tells me it’s
>>          the call setup process which is triggering the spikes, is this possibly a limitation on the SIP profiles which
>>          are single threaded?____
>>
>>          ____
>>
>>          I also see FreeSWITCH supports clustering but it’s in relation to high availability, is it possible to cluster a
>>          single FreeSWITCH instance across multiple hardware or should we be looking elsewhere to solve these
>>          bottlenecks?____
>>
>>          ____
>>
>>          We switched to TCP Vegas on our new build as recommended on the FreeSWITCH Wiki, this has provided a noticeable
>>          reduction in audio latency but doesn’t solve the issue with CPU spikes.____
>>
>>          ____
>>
>>          Many Thanks,____
>>
>>          Shaun____
>>
>>          ____
>>
>>          *From:*freeswitch-users-bounces at lists.freeswitch.org
>>          <javascript:_e(%7B%7D,'cvml','freeswitch-users-bounces at lists.freeswitch.org');>
>>          [mailto:freeswitch-users-bounces at lists.freeswitch.org
>>          <javascript:_e(%7B%7D,'cvml','freeswitch-users-bounces at lists.freeswitch.org');>] *On Behalf Of *Michael Jerris
>>          *Sent:* 15 August 2015 23:00
>>          *To:* FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org
>>          <javascript:_e(%7B%7D,'cvml','freeswitch-users at lists.freeswitch.org');>>
>>          *Subject:* Re: [Freeswitch-users] FreeSwitch - Performance issues____
>>
>>          ____
>>
>>          There are multiple known issues with Ubuntu 12.04.  We reccomend Debian 8 Jessie.
>>
>>          On Friday, August 14, 2015, Shaun Stokes <shaun.stokes at itec-support.co.uk
>>          <javascript:_e(%7B%7D,'cvml','shaun.stokes at itec-support.co.uk');>> wrote:____
>>
>>              Hi,____
>>
>>              ____
>>
>>              We’re experiencing performance issues with FreeSwitch, our target is 500 concurrent sessions, but at the
>>              moment this starts to bottleneck around 30.____
>>
>>              ____
>>
>>              Host system:____
>>
>>              Windows Server 2012 Hyper-V Host____
>>
>>              AMD Opteron 4386 (2 processors) – 16 cores total____
>>
>>              128GB DDR3____
>>
>>              2TB RAID 5 (700MB/s tested read and write throughput)____
>>
>>              ____
>>
>>              FreeSwitch Virtual Machine:____
>>
>>              FreeSwitch 1.4.15____
>>
>>              Ubuntu 12.04 LTS____
>>
>>              16 Virtual cores (high priority)____
>>
>>              2GB RAM (would assign more but FreeSwitch never seems to use much)____
>>
>>              500GB HD (on VHDX)____
>>
>>              ____
>>
>>              After around 30 concurrent sessions we begin to see CPU spikes almost every time a new call comes in, as the
>>              sessions increase the size and frequency of the CPU spikes also increase. The system seems to be able to sit
>>              comfortably with over 100 concurrent sessions and 80% idle CPU, providing we don’t have any new calls
>>              hitting the platform. The spikes are causing audio (RTP) to stutter or in some cases drop completely for a
>>              few seconds.____
>>
>>              ____
>>
>>              The FreeSwitch spikes are occurring on all 16 cores, we have been monitoring the system using htop and
>>              mpstat.____
>>
>>              ____
>>
>>              This is an example of when we receive an inbound call while we have 34 concurrent sessions:____
>>
>>              14:26:04     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle____
>>
>>              14:26:05     all    1.67    0.00   27.34    0.00    0.25    0.00    0.00    0.00   70.74____
>>
>>              14:26:05       0    1.00    0.00   28.00    0.00    0.00    0.00    0.00    0.00   71.00____
>>
>>              14:26:05       1    0.99    0.00   26.73    0.00    0.00    0.00    0.00    0.00   72.28____
>>
>>              14:26:05       2    0.99    0.00   26.73    0.00    0.00    0.00    0.00    0.00   72.28____
>>
>>              14:26:05       3    3.92    0.00   26.47    0.00    0.00    0.00    0.00    0.00   69.61____
>>
>>              14:26:05       4    0.99    0.00   25.74    0.00    1.98    0.00    0.00    0.00   71.29____
>>
>>              14:26:05       5    0.99    0.00   26.73    0.00    0.99    0.00    0.00    0.00   71.29____
>>
>>              14:26:05       6    0.00    0.00   26.47    0.00    0.98    0.00    0.00    0.00   72.55____
>>
>>              14:26:05       7    0.00    0.00   26.73    0.00    0.00    0.00    0.00    0.00   73.27____
>>
>>              14:26:05       8    3.96    0.00   27.72    0.00    0.00    0.00    0.00    0.00   68.32____
>>
>>              14:26:05       9    2.00    0.00   27.00    0.00    0.00    0.00    0.00    0.00   71.00____
>>
>>              14:26:05      10    6.00    0.00   32.00    0.00    0.00    0.00    0.00    0.00   62.00____
>>
>>              14:26:05      11    1.96    0.00   27.45    0.00    0.00    0.00    0.00    0.00   70.59____
>>
>>              14:26:05      12    0.99    0.00   26.73    0.00    0.00    0.00    0.00    0.00   72.28____
>>
>>              14:26:05      13    1.00    0.00   28.00    0.00    0.00    0.00    0.00    0.00   71.00____
>>
>>              14:26:05      14    0.00    0.00   27.00    0.00    0.00    0.00    0.00    0.00   73.00____
>>
>>              ____
>>
>>              This is when the system is not receiving an inbound call but is sitting comfortably at 34 concurrent
>>              sessions:____
>>
>>              14:25:57     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle____
>>
>>              14:25:58     all    0.87    0.00    0.62    0.00    0.12    0.00    0.00    0.00   98.39____
>>
>>              14:25:58       0    0.99    0.00    0.99    0.00    0.00    0.00    0.00    0.00   98.02____
>>
>>              14:25:58       1    0.99    0.00    0.99    0.00    0.00    0.00    0.00    0.00   98.02____
>>
>>              14:25:58       2    0.98    0.00    0.98    0.00    0.00    0.00    0.00    0.00   98.04____
>>
>>              14:25:58       3    0.00    0.00    0.99    0.00    0.00    0.00    0.00    0.00   99.01____
>>
>>              14:25:58       4    0.00    0.00    0.00    0.00    1.98    0.00    0.00    0.00   98.02____
>>
>>              14:25:58       5    0.00    0.00    0.00    0.00    0.99    0.00    0.00    0.00   99.01____
>>
>>              14:25:58       6    0.00    0.00    0.99    0.00    0.00    0.00    0.00    0.00   99.01____
>>
>>              14:25:58       7    0.00    0.00    0.99    0.00    0.00    0.00    0.00    0.00   99.01____
>>
>>              14:25:58       8    5.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00   94.00____
>>
>>              14:25:58       9    1.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.00____
>>
>>              14:25:58      10    1.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.00____
>>
>>              14:25:58      11    0.99    0.00    0.99    0.00    0.00    0.00    0.00    0.00   98.02____
>>
>>              14:25:58      12    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00____
>>
>>              14:25:58      13    1.98    0.00    0.99    0.00    0.00    0.00    0.00    0.00   97.03____
>>
>>              14:25:58      14    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00____
>>
>>              14:25:58      15    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00____
>>
>>              ____
>>
>>              We’re using FreeSwitch in multi-tenant mode, we have tried dedicating a single VM for one tenancy but still
>>              experience the issue. My assumption has been that this will be due to the dialplan, I’ve optimized this
>>              slightly by writing LUA scripts to handle some of the inbound calls this appears to take away some of the
>>              load but we’re still using the internal dialplans for each tenancy (tenancy dialplans have an average of 300
>>              entries).____
>>
>>              ____
>>
>>              We are using the following arguments when running FreeSwitch:____
>>
>>              -rp –nc –nonat____
>>
>>              ____
>>
>>              I’ve seen another post which says we should operate FreeSwitch in High Performance mode using –hp but can’t
>>              find anything information about this, is this still a valid argument to use with FreeSwitch?____
>>
>>              ____
>>
>>              Has anyone experienced similar performance issues before or have any advice?____
>>
>>              ____
>>
>>              Hope someone may be able help.____
>>
>>              ____
>>
>>              Thanks,____
>>
>>              Shaun____
>>
>>
>>              ______________________________________________________________________
>>              This message has been checked for all known viruses by MessageLabs Virus Scanning Service.
>>              __________________________________________________________________________
>>
>>
>>          ______________________________________________________________________
>>          This message has been checked for all known viruses by MessageLabs Virus Scanning Service.
>>          __________________________________________________________________________
>>
>>
>>          ______________________________________________________________________
>>          This message has been checked for all known viruses by MessageLabs Virus Scanning Service.
>>          __________________________________________________________________________
>>
>>
>>          _________________________________________________________________________
>>          Professional FreeSWITCH Consulting Services:
>>          consulting at freeswitch.org <javascript:_e(%7B%7D,'cvml','consulting at freeswitch.org');>
>>          http://www.freeswitchsolutions.com
>>
>>          Official FreeSWITCH Sites
>>          http://www.freeswitch.org
>>          http://confluence.freeswitch.org
>>          http://www.cluecon.com
>>
>>          FreeSWITCH-users mailing list
>>          FreeSWITCH-users at lists.freeswitch.org <javascript:_e(%7B%7D,'cvml','FreeSWITCH-users at lists.freeswitch.org');>
>>          http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>          UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>          http://www.freeswitch.org____
>>
>>      __ __
>>
>>
>>      ______________________________________________________________________
>>      This message has been checked for all known viruses by MessageLabs Virus Scanning Service.
>>      __________________________________________________________________________
>>
>>
>>      ______________________________________________________________________
>>      This message has been checked for all known viruses by MessageLabs Virus Scanning Service.
>>      ______________________________________________________________________
>>
>>
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://confluence.freeswitch.org
>> http://www.cluecon.com
>>
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>

-- 
------------------------------------------------------------
Nathan Neulinger                       nneul at mst.edu
Missouri S&T Information Technology    (573) 612-1412
System Administrator - Architect



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