FreeSWITCH performance test on AMD Geode LX800

This is a proof-of-concept test to see if the PC Engines’ ALIX2 board is suitable for a basic VoIP application.

First I compiled the latest FreeSWITCH version from Git. It was a mistake to run the compilation on the ALIX board: the CPU is quite slow, and the whole compilation took several hours.  I should’ve done the compilation on a more powerful machine and then copy the binaries to the ALIX.

In these tests, I used the default dialplan that came with FreeSWITCH (highly insecure, with the password 1234 for all users). I added an external SIP profile to connect it to my other IP PBX, so that I can easily place incoming calls.

An Ubuntu notebook with Twinkle was used as the SIP client for the ALIX server.

FreeSWITCH was running with -rp option, assigning the process a high priority.

1. IVR prompts and voicemail worked immediately, and the flash memory speed delays were insignificant.

2. A call without transcoding. Both call legs were using PCMA codec:

# "vmstat 1" output:
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
1  0   3792   4036  23204 187060    0    0     0    36 1205 1576  0  2 98  0
1  0   3792   4036  23204 187068    0    0     0     0 1205 1548  0  3 97  0

# "top" output
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
3187 freeswit  -2 -10 30504  12m 4148 S  6.9  5.0   0:16.60 freeswitch

3. A call with transcoding. One leg used G722@16000 codec, and the other leg was GSM@8000:

# "vmstat 1" output:
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  0   3796   4320  22844 186712    0    0     0     0 1207 1333 14  3 83  0
 1  0   3796   4320  22844 186712    0    0     0     0 1205 1348 14  4 82  0

# "top" output:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 2909 freeswit  -2 -10 31240  12m 4188 S 21.3  5.1   1:18.38 freeswitch

4. A conference with 5 PCMA channels:

# "vmstat 1" output:
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0      0 122888  36440  58244    0    0     0     0 1458  844  7  6 87  0
 0  0      0 122896  36440  58244    0    0     0     0 1440  814  6  4 90  0

# "top" output:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 8124 freeswit  -2 -10 34208  13m 4224 S 12.1  5.5   1:29.85 freeswitch

Outcome: it’s possible to build a pretty decent small PBX for SOHO usage with this hardware. In all cases the voice quality was absolutely fine.

UPD1: a conference call with automatic recording into MP3: the CPU load jumps to 60% every few seconds, and the conference experiences significant delays and clippings. With WAV recording, everything runs smoothly, and not much different from the above results.

Advertisements

, , ,

  1. #1 by Bret on September 17, 2012 - 1:18 pm

    What version of Linux did you use on teh Alix? I’m about to do the same thing and came across your blog post..

    Thanks

    • #2 by txlab on September 17, 2012 - 1:46 pm

      It’s Voyage Linux, see my other posts with the same tag

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: