<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-CA link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal>Hi,<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I’m new to FreeSWITCH and I’m testing the
scalability of mod_conference to see if it will scale better that other
solutions. My scenario is to have one speaker, and many listeners (mute). Since
I have only one speaker, I was expecting this to scale well because there is no
audio mixing required, just send each frame of the single speaker to each
listener. Unfortunately, my testing was disappointing, and it didn’t
scale nearly as well as I’d hoped (based on what I’ve read on how
FreeSWITCH is supposed to be generally very scalable). <o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Here’s my server setup is this:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>FreeSWITCH 1.0.4, 64 bit CentOS 5.3, on a quad-core Xeon
server, 4 Gig of RAM. I’ve set file logging to “notice” level.
My conference profile is configured to suppress several events, hoping that it
would improve performance.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Here are a few scenarios I tested, and roughly where I
reached the point of audio failure on the conferences:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Scenario 1:<o:p></o:p></p>
<p class=MsoNormal>1 conference, 1 speaker, audio failed at approx 300
listeners (mute) <o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Scenario 2:<o:p></o:p></p>
<p class=MsoNormal>4 conferences, 1 speaker per conference, audio failed approx
110 listeners per conference (so just over 400 total channels on the system).<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Scenario 3:<o:p></o:p></p>
<p class=MsoNormal>16 conferences, 1 speaker per conference, audio failed at 32
listeners per conference (so just over 500 total channels on the system).<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Looking at the output from “top”, it seems that
in all 3 scenarios, the audio quality failed when the % CPU for the FreeSWITCH
process exceeded 300%. <o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I was hoping maybe someone else might have done similar
testing, or maybe has suggestions on how to improve the performance. Or perhaps
an alternate solution to the one speaker, many listener case?<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Thanks,<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Brian.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</body>
</html>