Freeswitch vs. Asterisk speed on ARM
Hi Everyone, I'm working on a PBX project for the Sheevaplug ARM based computer, with the following specs: CPU 1.2 GHz, 512MB DDR2, no FPU. So far I've found a big difference between Freeswitch and Asterisk performance times. This is a comparison of the time it takes them to perform different actions: startup Freeswitch: 3 min. startup Asterisk: 2 sec. call extension Freeswitch: 6 sec. call extension Asterisk: 0 sec. shutdown Freeswitch: 6.5 sec shutdown Asterisk: 0 sec. reload config Freeswitch: 1 sec. reload config Asterisk: 1 sec. Both were built from sources natively (no cross-compiling), and they use the default startup configurations. I have managed to lower the Freeswitch times by disabling most of the modules and recompiling, but it is still far away from Asterisk (i.e. FS startup time 2.5 min). 1. Is there any way to further improve Freeswitch performance for the ARM architecture? 2. Can this be related to the lack of a FPU (the Sheevalug emulates the floating point operations). 3. On the startup I see this error repeated many times: [ERR] switch_core_sqldb.c:95 SQL ERR [database is locked]. Can this be related? Thanks, Rogelio Perez
On Fri, Aug 21, 2009 at 04:15:13PM -0300, Rogelio Perez wrote:
Hi Everyone,
I'm working on a PBX project for the Sheevaplug ARM based computer, with the following specs: CPU 1.2 GHz, 512MB DDR2, no FPU. So far I've found a big difference between Freeswitch and Asterisk performance times. This is a comparison of the time it takes them to perform different actions:
startup Freeswitch: 3 min. startup Asterisk: 2 sec.
call extension Freeswitch: 6 sec. call extension Asterisk: 0 sec.
shutdown Freeswitch: 6.5 sec shutdown Asterisk: 0 sec.
reload config Freeswitch: 1 sec. reload config Asterisk: 1 sec.
Both were built from sources natively (no cross-compiling), and they use the default startup configurations. I have managed to lower the Freeswitch times by disabling most of the modules and recompiling, but it is still far away from Asterisk (i.e. FS startup time 2.5 min).
1. Is there any way to further improve Freeswitch performance for the ARM architecture? 2. Can this be related to the lack of a FPU (the Sheevalug emulates the floating point operations). 3. On the startup I see this error repeated many times: [ERR] switch_core_sqldb.c:95 SQL ERR [database is locked]. Can this be related?
Try making where freeswitch stores it's sqlite databases /usr/local/freeswitch/db (by default) a ramdisk. I've had this vastly improve FS performance on embedded devices. Andrew
probably disk i/o. Is it some kind of flash drive? make a ramdisk and simlink in /usr/local/freeswitch/db and /usr/local/freeswitch/log to it the default configuration uses a lot of high level features that use the sqlite db on the disk. We also offer commercial support where we could dig deeper into the problem if you can't figure it out consulting@freeswitch.org On Fri, Aug 21, 2009 at 2:15 PM, Rogelio Perez <rogelio.perez@gmail.com>wrote:
Hi Everyone,
I'm working on a PBX project for the Sheevaplug<http://www.google.com/url?sa=t&source=web&ct=res&cd=1&url=http%253A%252F%252Fwww.marvell.com%252Fproducts%252Fembedded_processors%252Fdeveloper%252Fkirkwood%252Fsheevaplug.jsp&ei=EOOOSo6ILcyOtgeNruTOBA&usg=AFQjCNFREhfy_erj5irBWk8XFUjkQOP-aw&sig2=pAHYlI15IbZ5Kcw0n-nIvA> ARM based computer, with the following specs: CPU 1.2 GHz, 512MB DDR2, no FPU. So far I've found a big difference between Freeswitch and Asterisk performance times. This is a comparison of the time it takes them to perform different actions:
startup Freeswitch: 3 min. startup Asterisk: 2 sec.
call extension Freeswitch: 6 sec. call extension Asterisk: 0 sec.
shutdown Freeswitch: 6.5 sec
shutdown Asterisk: 0 sec.
reload config Freeswitch: 1 sec. reload config Asterisk: 1 sec.
Both were built from sources natively (no cross-compiling), and they use the default startup configurations. I have managed to lower the Freeswitch times by disabling most of the modules and recompiling, but it is still far away from Asterisk (i.e. FS startup time 2.5 min).
1. Is there any way to further improve Freeswitch performance for the ARM architecture? 2. Can this be related to the lack of a FPU (the Sheevalug emulates the floating point operations). 3. On the startup I see this error repeated many times: [ERR] switch_core_sqldb.c:95 SQL ERR [database is locked]. Can this be related?
Thanks, Rogelio Perez
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@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@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
Thanks Andrew and Anthony, I created a ramdisk for the db and log directories using tmpfs and now I see better performance times: startup: 15.6 sec. call extension: 0 sec. shutdown: 7.5 sec reload config: 0 sec. I have noticed that during the startup there is a 12 sec. pause while checking for UPnP: 2009-08-24 04:39:29.910459 [ERR] switch_nat.c:183 Error checking for PMP [general error] 2009-08-24 04:39:29.910694 [DEBUG] switch_nat.c:397 Checking for UPnP 2009-08-24 04:39:41.906029 [INFO] switch_nat.c:411 No PMP or UPnP NAT detected! Is there any way to lower this time? Maybe disabling the check? Thanks, Rogelio On Aug 21, 2009, at 5:20 PM, Anthony Minessale wrote:
probably disk i/o.
Is it some kind of flash drive?
make a ramdisk and simlink in /usr/local/freeswitch/db and /usr/ local/freeswitch/log to it the default configuration uses a lot of high level features that use the sqlite db on the disk.
We also offer commercial support where we could dig deeper into the problem if you can't figure it out consulting@freeswitch.org
On Fri, Aug 21, 2009 at 2:15 PM, Rogelio Perez <rogelio.perez@gmail.com
wrote: Hi Everyone,
I'm working on a PBX project for the Sheevaplug ARM based computer, with the following specs: CPU 1.2 GHz, 512MB DDR2, no FPU. So far I've found a big difference between Freeswitch and Asterisk performance times. This is a comparison of the time it takes them to perform different actions:
startup Freeswitch: 3 min. startup Asterisk: 2 sec.
call extension Freeswitch: 6 sec. call extension Asterisk: 0 sec.
shutdown Freeswitch: 6.5 sec shutdown Asterisk: 0 sec.
reload config Freeswitch: 1 sec. reload config Asterisk: 1 sec.
Both were built from sources natively (no cross-compiling), and they use the default startup configurations. I have managed to lower the Freeswitch times by disabling most of the modules and recompiling, but it is still far away from Asterisk (i.e. FS startup time 2.5 min).
1. Is there any way to further improve Freeswitch performance for the ARM architecture? 2. Can this be related to the lack of a FPU (the Sheevalug emulates the floating point operations). 3. On the startup I see this error repeated many times: [ERR] switch_core_sqldb.c:95 SQL ERR [database is locked]. Can this be related?
Thanks, Rogelio Perez
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@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@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org pstn:213-799-1400 _______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
freeswitch -nonat /b On Aug 23, 2009, at 11:45 PM, Rogelio Perez wrote:
2009-08-24 04:39:29.910459 [ERR] switch_nat.c:183 Error checking for PMP [general error] 2009-08-24 04:39:29.910694 [DEBUG] switch_nat.c:397 Checking for UPnP 2009-08-24 04:39:41.906029 [INFO] switch_nat.c:411 No PMP or UPnP NAT detected!
Thanks Brian, now the startup time is 3 sec. On Aug 24, 2009, at 1:52 AM, Brian West wrote:
freeswitch -nonat
/b
On Aug 23, 2009, at 11:45 PM, Rogelio Perez wrote:
2009-08-24 04:39:29.910459 [ERR] switch_nat.c:183 Error checking for PMP [general error] 2009-08-24 04:39:29.910694 [DEBUG] switch_nat.c:397 Checking for UPnP 2009-08-24 04:39:41.906029 [INFO] switch_nat.c:411 No PMP or UPnP NAT detected!
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Could you load freeswitch with a couple hundred calls then run the test again.. and do the same to asterisk and see how the numbers stack up then? I'm just curious to see what happens at that point. -Ray On Aug 21, 2009, at 3:15 PM, Rogelio Perez wrote:
Hi Everyone,
I'm working on a PBX project for the Sheevaplug ARM based computer, with the following specs: CPU 1.2 GHz, 512MB DDR2, no FPU. So far I've found a big difference between Freeswitch and Asterisk performance times. This is a comparison of the time it takes them to perform different actions:
startup Freeswitch: 3 min. startup Asterisk: 2 sec.
call extension Freeswitch: 6 sec. call extension Asterisk: 0 sec.
shutdown Freeswitch: 6.5 sec shutdown Asterisk: 0 sec.
reload config Freeswitch: 1 sec. reload config Asterisk: 1 sec.
Both were built from sources natively (no cross-compiling), and they use the default startup configurations. I have managed to lower the Freeswitch times by disabling most of the modules and recompiling, but it is still far away from Asterisk (i.e. FS startup time 2.5 min).
1. Is there any way to further improve Freeswitch performance for the ARM architecture? 2. Can this be related to the lack of a FPU (the Sheevalug emulates the floating point operations). 3. On the startup I see this error repeated many times: [ERR] switch_core_sqldb.c:95 SQL ERR [database is locked]. Can this be related?
Thanks, Rogelio Perez
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Don't forget to press tab at the asterisk console! :) On Sun, Aug 23, 2009 at 18:23, Raymond Chandler <intralanman@freeswitch.org>wrote:
Could you load freeswitch with a couple hundred calls then run the test again.. and do the same to asterisk and see how the numbers stack up then? I'm just curious to see what happens at that point. -Ray
On Aug 21, 2009, at 3:15 PM, Rogelio Perez wrote:
Hi Everyone,
I'm working on a PBX project for the Sheevaplug<http://www.google.com/url?sa=t&source=web&ct=res&cd=1&url=http%253A%252F%252Fwww.marvell.com%252Fproducts%252Fembedded_processors%252Fdeveloper%252Fkirkwood%252Fsheevaplug.jsp&ei=EOOOSo6ILcyOtgeNruTOBA&usg=AFQjCNFREhfy_erj5irBWk8XFUjkQOP-aw&sig2=pAHYlI15IbZ5Kcw0n-nIvA> ARM based computer, with the following specs: CPU 1.2 GHz, 512MB DDR2, no FPU. So far I've found a big difference between Freeswitch and Asterisk performance times. This is a comparison of the time it takes them to perform different actions:
startup Freeswitch: 3 min. startup Asterisk: 2 sec.
call extension Freeswitch: 6 sec. call extension Asterisk: 0 sec.
shutdown Freeswitch: 6.5 sec
shutdown Asterisk: 0 sec.
reload config Freeswitch: 1 sec. reload config Asterisk: 1 sec.
Both were built from sources natively (no cross-compiling), and they use the default startup configurations. I have managed to lower the Freeswitch times by disabling most of the modules and recompiling, but it is still far away from Asterisk (i.e. FS startup time 2.5 min).
1. Is there any way to further improve Freeswitch performance for the ARM architecture? 2. Can this be related to the lack of a FPU (the Sheevalug emulates the floating point operations). 3. On the startup I see this error repeated many times: [ERR] switch_core_sqldb.c:95 SQL ERR [database is locked]. Can this be related?
Thanks, Rogelio Perez
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Shannon
Hi Raymond, I'm not planning to have more than 10 concurrent calls on this devices, but I'm also curious as you about how many calls can it handle. When I get to that point I will post the test results on this list. Regards, Rogelio On Aug 23, 2009, at 8:23 PM, Raymond Chandler wrote:
Could you load freeswitch with a couple hundred calls then run the test again.. and do the same to asterisk and see how the numbers stack up then? I'm just curious to see what happens at that point.
-Ray
On Aug 21, 2009, at 3:15 PM, Rogelio Perez wrote:
Hi Everyone,
I'm working on a PBX project for the Sheevaplug ARM based computer, with the following specs: CPU 1.2 GHz, 512MB DDR2, no FPU. So far I've found a big difference between Freeswitch and Asterisk performance times. This is a comparison of the time it takes them to perform different actions:
startup Freeswitch: 3 min. startup Asterisk: 2 sec.
call extension Freeswitch: 6 sec. call extension Asterisk: 0 sec.
shutdown Freeswitch: 6.5 sec shutdown Asterisk: 0 sec.
reload config Freeswitch: 1 sec. reload config Asterisk: 1 sec.
Both were built from sources natively (no cross-compiling), and they use the default startup configurations. I have managed to lower the Freeswitch times by disabling most of the modules and recompiling, but it is still far away from Asterisk (i.e. FS startup time 2.5 min).
1. Is there any way to further improve Freeswitch performance for the ARM architecture? 2. Can this be related to the lack of a FPU (the Sheevalug emulates the floating point operations). 3. On the startup I see this error repeated many times: [ERR] switch_core_sqldb.c:95 SQL ERR [database is locked]. Can this be related?
Thanks, Rogelio Perez
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
participants (6)
-
Andrew Thompson
-
Anthony Minessale
-
Brian West
-
Raymond Chandler
-
Rogelio Perez
-
SP