thank you all for your replies, esp Gabriel and Anthony for your insightful answers.<div><br></div><div>all processes (freeswitch, mysql, apache, vs..) running on the same machine. i think this is </div><div>the major problem. now we are adding more hw to increase the number of fs boxes. but on the </div>

<div>long run, we have to try what Anthony says.</div><div><div><br><br><div class="gmail_quote">On Sat, Apr 14, 2012 at 7:02 PM, Anthony Minessale <span dir="ltr">&lt;<a href="mailto:anthony.minessale@gmail.com">anthony.minessale@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If you really want the fastest dialplan possible, write a new dialplan<br>
module in C.<br>
You only have to implement 1 function, a dialplan hunt function that<br>
gets data from the session and builds and returns an extension object<br>
which is basically just a list of app/args.  You can glue in any other<br>
stuff you want from there.<br>
<br>
The dialplan implementations we carry in tree tend to offer a blended<br>
balance of performance and flexibility/extensibility to serve as both<br>
a demo and a practical on-ramp.<br>
<div><div class="h5"><br>
<br>
<br>
<br>
<br>
On Sat, Apr 14, 2012 at 10:51 AM, Anita Hall &lt;<a href="mailto:anita.hall@simmortel.com">anita.hall@simmortel.com</a>&gt; wrote:<br>
&gt; Could he use mod_odbc_query instead of xml curl to directly get his dialplan<br>
&gt; from a DB, thus removing the webserver from the picture altogether. I have<br>
&gt; not tried this but it looks better or am I missing something ?<br>
&gt;<br>
&gt; <a href="http://wiki.freeswitch.org/wiki/Mod_odbc_query" target="_blank">http://wiki.freeswitch.org/wiki/Mod_odbc_query</a><br>
&gt;<br>
&gt; regards,<br>
&gt; Anita<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Apr 13, 2012 at 10:52 PM, Gabriel Gunderson &lt;<a href="mailto:gabe@gundy.org">gabe@gundy.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; On Fri, Apr 13, 2012 at 6:37 AM, huseyin kalyoncu &lt;<a href="mailto:hkalyoncu@gmail.com">hkalyoncu@gmail.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt; &gt; we are currently have two fs boxes load balanced by osips.<br>
&gt;&gt; &gt; in each fs we have dynamic dialplan with mod_xml_curl using php &amp; apache<br>
&gt;&gt; &gt; &amp;<br>
&gt;&gt; &gt; mysql. this conf is doing just fine with current load (about 20 cps) but<br>
&gt;&gt; &gt; with the<br>
&gt;&gt; &gt; increasing of incoming traffic, it shows some performance issues.<br>
&gt;&gt; &gt; we want to increase our call throughput.<br>
&gt;&gt;<br>
&gt;&gt; You don&#39;t really give us enough to go on. A few questions that I have<br>
&gt;&gt; when I read this...<br>
&gt;&gt;<br>
&gt;&gt; * Are the DB and HTTP servers running on stand alone servers, or are<br>
&gt;&gt; they running on the FS server?<br>
&gt;&gt; * What kind of hardware are they each running on? RAM, CPU, disks?<br>
&gt;&gt; * What kind of load do the servers have when you see performance issues?<br>
&gt;&gt; * What have you done to optimize your web stack (other HTTP servers<br>
&gt;&gt; etc)? Are you caching where you can?<br>
&gt;&gt; * Have you analyzed your SQL to find any slow queries?<br>
&gt;&gt;<br>
&gt;&gt; Now, I don&#39;t expect you to answer all of these in this email thread,<br>
&gt;&gt; but I&#39;ll bet if you reviewed them, you&#39;d be able to bump your<br>
&gt;&gt; performance without having to revisit your current approach.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt; i searched through fs site and mailing list and came up with following<br>
&gt;&gt; &gt; options:<br>
&gt;&gt;<br>
&gt;&gt; I&#39;ll comment on this generically, but I can&#39;t really say what each<br>
&gt;&gt; approach will (or will not) do for your current situation.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt; 1) using lua or (python?) to serve dialplan instead of mod_xml_curl<br>
&gt;&gt;<br>
&gt;&gt; This works. Lua is lighter so it may give you better performance than<br>
&gt;&gt; Python (this is a non-issue if you&#39;re using Python in a long-living<br>
&gt;&gt; process with event socket or mod_xml_curl). Regardless of languages,<br>
&gt;&gt; this approach has a drawback in that processing is done on the same<br>
&gt;&gt; server that&#39;s running FreeSWITCH.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt; 2) writing a dialplan module (something like mod_xml_curl) in c which<br>
&gt;&gt; &gt; will do<br>
&gt;&gt; &gt; all the db lookups etc..<br>
&gt;&gt;<br>
&gt;&gt; That seems a little extreme. Many people have scaled way up without<br>
&gt;&gt; resorting to that approach.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt; 3) using mod_erlang_event in outbound mode &amp; spawning several erlang<br>
&gt;&gt; &gt; workers to do db lookups etc..<br>
&gt;&gt;<br>
&gt;&gt; This is about the same as #4 (give or take some Erlang magic).<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt; 4) using mod_event_socket in outbound mode &amp; making db lookups on a<br>
&gt;&gt; &gt; different server.<br>
&gt;&gt;<br>
&gt;&gt; This is a fine approach when controlling the call, but you still need<br>
&gt;&gt; some basic dialplan to get the calls going where they need to go. I<br>
&gt;&gt; don&#39;t see it as the right way to solve your scaling problem, but it<br>
&gt;&gt; might be part of the overall solution.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; It sounds like you might be giving up on mod_xml_curl too soon.<br>
&gt;&gt; Scaling HTTP is a well known problem with lots of tools available to<br>
&gt;&gt; help you. When developing for mod_xml_curl, try returning the simplest<br>
&gt;&gt; bit of dialplan you can and do all the work (logic, DB, etc.) on the<br>
&gt;&gt; HTTP server. And don&#39;t forget that in *any* scaling scenario, you will<br>
&gt;&gt; need to bring hardware, *real* hardware :)<br>
&gt;&gt;<br>
&gt;&gt; Good luck and let us know how you end up solving the problem.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Best,<br>
&gt;&gt; Gabe<br>
&gt;&gt;<br>
&gt;&gt; _________________________________________________________________________<br>
&gt;&gt; Professional FreeSWITCH Consulting Services:<br>
&gt;&gt; <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt;&gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;&gt;<br>
&gt;&gt; FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
&gt;&gt; <a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
&gt;&gt;<br>
&gt;&gt; Official FreeSWITCH Sites<br>
&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt; <a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
&gt;&gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;&gt;<br>
&gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _________________________________________________________________________<br>
&gt; Professional FreeSWITCH Consulting Services:<br>
&gt; <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;<br>
&gt; FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
&gt; <a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
&gt;<br>
&gt; Official FreeSWITCH Sites<br>
&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt; <a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
&gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;<br>
&gt; FreeSWITCH-users mailing list<br>
&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
<br>
<br>
<br>
</div></div>--<br>
Anthony Minessale II<br>
<br>
FreeSWITCH <a href="http://www.freeswitch.org/" target="_blank">http://www.freeswitch.org/</a><br>
ClueCon <a href="http://www.cluecon.com/" target="_blank">http://www.cluecon.com/</a><br>
Twitter: <a href="http://twitter.com/FreeSWITCH_wire" target="_blank">http://twitter.com/FreeSWITCH_wire</a><br>
<br>
AIM: anthm<br>
<a href="mailto:MSN%3Aanthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a><br>
GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net" target="_blank">irc.freenode.net</a> #freeswitch<br>
<br>
FreeSWITCH Developer Conference<br>
<a href="mailto:sip%3A888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br>
<a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a><br>
pstn:<a href="tel:%2B19193869900" value="+19193869900">+19193869900</a><br>
<div class="HOEnZb"><div class="h5"><br>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</div></div></blockquote></div><br></div></div>