[Freeswitch-users] ReloadXML takes very long time

Yiftach Golan yiftah at choochee.com
Fri Oct 26 02:11:48 MSD 2012


It may be a bit problematic since I will need 3 hooks :
1. *switch_xml_parse_fd :* Create the initial pre allocated buffer
2. *preprocess :* indexing the file names (adding a note before and after
each file )
3. *switch_xml_parse_file :*  use my reload instead the regular one for
creating the big xml and then I just let the function continue as usual
through the "__switch_xml_open_root" function
I am reloading the file to the memory and then let the regular
"switch_xml.c" do its work, so using the existing functions in
"switch_xml.c" will not do the work
However, we do not have to add it I just thought it would be good
improvement for FreeSWITCH as it was very helpful for us

On Thu, Oct 25, 2012 at 2:58 PM, Anthony Minessale <
anthony.minessale at gmail.com> wrote:

> I thought you were going to move it to be a module?
>
> On Thu, Oct 25, 2012 at 4:50 PM, Yiftach Golan <yiftah at choochee.com>wrote:
>
>> I merged my code to the HEAD here are the results (I yet checked in the
>> code) :
>> # time /opt/freeswitch/bin/fs_cli -x "reloadxml"
>> +OK [Success]
>> real    *0m24.424s*
>> user    0m0.000s
>> sys    0m0.020s
>>
>> # time /opt/freeswitch/bin/fs_cli -x "reloadxml
>> /repository/generated_configs/tenant_dialplan/156792923823_tenant_dialplan.xml"
>> +OK [Success]
>> real    *0m0.315s*
>> user    0m0.000s
>> sys    0m0.010s
>>
>> Looks like there is major improvement in the loading time
>> How does it work, I just need to check in my code to the git? with my
>> subscribe user?
>> Thanks,
>> Yiftach.
>>
>>
>>
>> On Tue, Oct 23, 2012 at 5:42 PM, Yiftach Golan <yiftah at choochee.com>wrote:
>>
>>> OK I will do so
>>>
>>> On Tue, Oct 23, 2012 at 5:41 PM, Anthony Minessale <
>>> anthony.minessale at gmail.com> wrote:
>>>
>>>> Also, if you design it cleanly and generic enough you can check the
>>>> module itself into HEAD and maintain it yourself and others can choose to
>>>> use it.
>>>>
>>>>
>>>> On Tue, Oct 23, 2012 at 5:54 PM, Yiftach Golan <yiftah at choochee.com>wrote:
>>>>
>>>>> Yes I agree, I can solve it this way for me, if anyone else in the
>>>>> community is looking for a very fast way of loading a specific file from
>>>>> the "reloadxml" command I can update it to the HEAD
>>>>>
>>>>>
>>>>> On Tue, Oct 23, 2012 at 3:49 PM, Anthony Minessale <
>>>>> anthony.minessale at gmail.com> wrote:
>>>>>
>>>>>> The man xml registry is already reloaded using the method described.
>>>>>>  In fact the xml root has reference counting and everyone who was on the
>>>>>> old one will be able to hold on to that root until they release it even
>>>>>> when a new one has been loaded into place.
>>>>>>
>>>>>> I think if you pursue the custom C module with the XML hook, that you
>>>>>> can put your same logic into a module and not bother the core as any access
>>>>>> to the core xml will be redirected to your module callback where you can do
>>>>>> whatever you want and not disturb the core of FS unless you have some kind
>>>>>> of functionality that is useful to everyone in general.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Oct 23, 2012 at 4:32 PM, Yiftach Golan <yiftah at choochee.com>wrote:
>>>>>>
>>>>>>> You may be able to develop it as well but it will not solve our
>>>>>>> problem of pushing configuration fast
>>>>>>> We have a front end that pushes the configuration changes and it
>>>>>>> needs to be fast, so even if we change it in the background it will be slow
>>>>>>>
>>>>>>> On Tue, Oct 23, 2012 at 2:03 PM, Puskás Zsolt <errotan at elder.hu>wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> I'm not an expert ( correct me if I'm wrong ) but I suppose the xml
>>>>>>>> config memory section is locked while the files are proccessed so other
>>>>>>>> modules are waiting for it. Instead of loading just one file you could
>>>>>>>> continue to load all the files into somekind of a new temporary config
>>>>>>>> section without locking the main. Once the files are loaded and processed
>>>>>>>> the temporary and main section could be swapped or the temporary is used
>>>>>>>> and the other is deleted from memory. No idea how many time this could take
>>>>>>>> to implement.
>>>>>>>>
>>>>>>>>
>>>>>>>> 2012-10-23 02:56 keltezéssel, Yiftach Golan írta:
>>>>>>>>
>>>>>>>> Hi FreeSWITCH community,
>>>>>>>> My name is Yiftah and I am working for ChooChee which is a hosted
>>>>>>>> PBX solution company
>>>>>>>> We have been using FreeSWITCH for almost 2 years and we added a lot
>>>>>>>> of code changes to the core and to the different modules
>>>>>>>> Lately we have made a decision to get more close to the community
>>>>>>>> so that we can enjoy the bug fixes and the new feature from the community
>>>>>>>> and we can contribute our knowledge and bug fixes
>>>>>>>> I would please like to start with a very basic question :
>>>>>>>> We are using dialplan xmls in order to load the configuration, we
>>>>>>>> have a lot of users on each freeswitch (+4k), it took a very long time for
>>>>>>>> the configuration to load (around 5 minutes) during this time no new calls
>>>>>>>> could be served by FreeSWITCH
>>>>>>>> In order to solve this problem we introduce reload xml that accepts
>>>>>>>> file names and has the ability to load just one file name into the memory
>>>>>>>> (we achieved 10ms loading time instead of 5 minutes)
>>>>>>>> The problem is that we had to introduce a lot of code in order to
>>>>>>>> solve this problem, has anyone else encounter this problem? we do not want
>>>>>>>> to use mod_xml_curl as we want to take care bringing the file to the
>>>>>>>> machine
>>>>>>>> Another approach that we thought is that a database might be much
>>>>>>>> better fit in here, because every xml update includes the entire tenant
>>>>>>>> (business) and has the potential in harming other users in the same tenant,
>>>>>>>> also DB has much higher capacities then XMLs, did anyone think of enabling
>>>>>>>> MySQL as a directory of parameters instead of xml?
>>>>>>>> Thanks,
>>>>>>>> Yiftach.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _________________________________________________________________________
>>>>>>>> Professional FreeSWITCH Consulting Services:consulting at freeswitch.orghttp://www.freeswitchsolutions.com
>>>>>>>>
>>>>>>>> FreeSWITCH-powered IP PBX: The CudaTel Communication Server
>>>>>>>>
>>>>>>>> Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com
>>>>>>>>
>>>>>>>> FreeSWITCH-users mailing listFreeSWITCH-users at lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>>>>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://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-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
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _________________________________________________________________________
>>>>>>> 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-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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Anthony Minessale II
>>>>>>
>>>>>> FreeSWITCH http://www.freeswitch.org/
>>>>>> ClueCon http://www.cluecon.com/
>>>>>> Twitter: http://twitter.com/FreeSWITCH_wire
>>>>>>
>>>>>> AIM: anthm
>>>>>> MSN:anthony_minessale at hotmail.com
>>>>>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>>>>>> IRC: irc.freenode.net #freeswitch
>>>>>>
>>>>>> FreeSWITCH Developer Conference
>>>>>> sip:888 at conference.freeswitch.org
>>>>>> googletalk:conf+888 at conference.freeswitch.org
>>>>>> pstn:+19193869900
>>>>>>
>>>>>>
>>>>>> _________________________________________________________________________
>>>>>> 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-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
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> _________________________________________________________________________
>>>>> 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-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
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Anthony Minessale II
>>>>
>>>> FreeSWITCH http://www.freeswitch.org/
>>>> ClueCon http://www.cluecon.com/
>>>> Twitter: http://twitter.com/FreeSWITCH_wire
>>>>
>>>> AIM: anthm
>>>> MSN:anthony_minessale at hotmail.com
>>>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>>>> IRC: irc.freenode.net #freeswitch
>>>>
>>>> FreeSWITCH Developer Conference
>>>> sip:888 at conference.freeswitch.org
>>>> googletalk:conf+888 at conference.freeswitch.org
>>>> pstn:+19193869900
>>>>
>>>>
>>>> _________________________________________________________________________
>>>> 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-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
>>>>
>>>>
>>>
>>
>> _________________________________________________________________________
>> 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-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
>>
>>
>
>
> --
> Anthony Minessale II
>
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
> Twitter: http://twitter.com/FreeSWITCH_wire
>
> AIM: anthm
> MSN:anthony_minessale at hotmail.com
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org
> googletalk:conf+888 at conference.freeswitch.org
> pstn:+19193869900
>
> _________________________________________________________________________
> 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-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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20121025/19aa5800/attachment-0001.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list