[asterisk-bugs] [Asterisk 0018866]: Asterisk 1.6.2.16.1 on embedded linux low perfomance of app_queue

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Feb 22 07:35:03 CST 2011


The following issue has been SUBMITTED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18866 
====================================================================== 
Reported By:                trscod
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18866
Category:                   Applications/app_queue
Reproducibility:            always
Severity:                   crash
Priority:                   normal
Status:                     new
Asterisk Version:           1.6.2.16.1 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2011-02-22 07:35 CST
Last Modified:              2011-02-22 07:35 CST
====================================================================== 
Summary:                    Asterisk 1.6.2.16.1 on embedded linux low perfomance
of app_queue
Description: 
Hi
I run asterisk 1.6.2.16.1 on embedded linux based on gentoo linux. LAMP &
FreePBX is used.
uname -a
Linux pbx 2.6.36 https://issues.asterisk.org/view.php?id=2 SMP Thu Feb 17
14:00:31 i686 Intel(R) Atom(TM) CPU
N270 @ 1.60GHz GenuineIntel GNU/Linux
Asterisk works with well perfomance. Tests of perfomance of chan_sip &
playback:

sipp -rtp_echo -sn uac 192.168.1.1 -s 777 -d 30000 -l 150 -i 192.168.1.2

with dialplan:
[E1_IN]
exten => _X.,1,Answer
exten => _X.,2,Playback(/var/lib/asterisk/moh/atr)
exten => _X.,3,Hangup

asterisk -rx "core show channels"
....
SIP/0000-00005ef3    777 at E1_IN:2          Up     
Playback(/var/lib/asterisk/moh
SIP/0000-00005ef2    777 at E1_IN:2          Up     
Playback(/var/lib/asterisk/moh
SIP/0000-00005ef1    777 at E1_IN:2          Up     
Playback(/var/lib/asterisk/moh
SIP/0000-00005ef0    777 at E1_IN:2          Up     
Playback(/var/lib/asterisk/moh
150 active channels
150 active calls
24454 calls processed

asterisk -rx "core show uptime"
System uptime: 1 hour, 22 minutes, 6 seconds

load average: 0.62, 1.16, 1.77
Asterisk's PID uses 99% CPU

I think this perfomance is good for this mashine.

Then I test a queue perfomance. In FreePBX i add 15 peers(extensions) &
add queue whith default settings:

asterisk -rx "queue show"
0000001 has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s
talktime), W:0, C:0, A:0, SL:0.0% within 60s
   Members: 
      109 (Local/109 at from-queue/n) (Invalid) has taken no calls yet
      108 (Local/108 at from-queue/n) (Invalid) has taken no calls yet
      107 (Local/107 at from-queue/n) (Invalid) has taken no calls yet
      106 (Local/106 at from-queue/n) (Invalid) has taken no calls yet
      105 (Local/105 at from-queue/n) (Invalid) has taken no calls yet
      104 (Local/104 at from-queue/n) (Invalid) has taken no calls yet
      103 (Local/103 at from-queue/n) (Invalid) has taken no calls yet
      102 (Local/102 at from-queue/n) (Invalid) has taken no calls yet
      101 (Local/101 at from-queue/n) (Invalid) has taken no calls yet
      100 (Local/100 at from-queue/n) (Invalid) has taken no calls yet
      114 (Local/114 at from-queue/n) (Invalid) has taken no calls yet
      113 (Local/113 at from-queue/n) (Invalid) has taken no calls yet
      112 (Local/112 at from-queue/n) (Invalid) has taken no calls yet
      111 (Local/111 at from-queue/n) (Invalid) has taken no calls yet
      110 (Local/110 at from-queue/n) (Invalid) has taken no calls yet
   No Callers

The members of this queue are absent. They are not registered on server.

Either in FreePBX I add inbound route 777 to queue.

So, test:

sipp -rtp_echo -sn uac 192.168.1.1 -s 777 -d 30000 -l 5 -i 192.168.1.2
(ONLY 5 CALLS)

& register one of 15 members of queue (peer 100)

well, some time after the running test - all is OK:

asterisk -rx "core show channels"
Channel              Location             State   Application(Data)       
     
SIP/100-00000005     100 at from-internal:1  Ringing AppDial((Outgoing Line))
     
Local/100 at from-queue s at macro-dial-one:37  Ring   
Dial(SIP/100,"",trM(auto-blkvm
Local/100 at from-queue 0000001 at from-queue:1 Ringing AppQueue((Outgoing
Line))     
SIP/0000-00000004    0000001 at ext-queues:9 Up      Queue(0000001,t,,)      
     
SIP/0000-00000003    0000001 at ext-queues:9 Up      Queue(0000001,t,,)      
     
SIP/0000-00000002    0000001 at ext-queues:9 Up      Queue(0000001,t,,)      
     
SIP/0000-00000001    0000001 at ext-queues:9 Up      Queue(0000001,t,,)      
     
SIP/0000-00000000    0000001 at ext-queues:9 Up      Queue(0000001,t,,)      
     
8 active channels
6 active calls
20 calls processed

asterisk -rx "queue show"      
0000001 has 5 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s
talktime), W:0, C:0, A:0, SL:0.0% within 60s
   Members: 
      109 (Local/109 at from-queue/n) (Unavailable) has taken no calls yet
      108 (Local/108 at from-queue/n) (Unavailable) has taken no calls yet
      107 (Local/107 at from-queue/n) (Unavailable) has taken no calls yet
      106 (Local/106 at from-queue/n) (Unavailable) has taken no calls yet
      105 (Local/105 at from-queue/n) (Unavailable) has taken no calls yet
      104 (Local/104 at from-queue/n) (Unavailable) has taken no calls yet
      103 (Local/103 at from-queue/n) (Unavailable) has taken no calls yet
      102 (Local/102 at from-queue/n) (Unavailable) has taken no calls yet
      101 (Local/101 at from-queue/n) (Unavailable) has taken no calls yet
      100 (Local/100 at from-queue/n) (Ringing) has taken no calls yet
      114 (Local/114 at from-queue/n) (Unavailable) has taken no calls yet
      113 (Local/113 at from-queue/n) (Unavailable) has taken no calls yet
      112 (Local/112 at from-queue/n) (Unavailable) has taken no calls yet
      111 (Local/111 at from-queue/n) (Unavailable) has taken no calls yet
      110 (Local/110 at from-queue/n) (Unavailable) has taken no calls yet
   Callers: 
      1. SIP/0000-00000000 (wait: 0:24, prio: 0)
      2. SIP/0000-00000001 (wait: 0:24, prio: 0)
      3. SIP/0000-00000002 (wait: 0:24, prio: 0)
      4. SIP/0000-00000003 (wait: 0:24, prio: 0)
      5. SIP/0000-00000004 (wait: 0:24, prio: 0)

But after only 1minute, 41 seconds queue is ?eases to call member 100.
Then I see:

asterisk -rx "queue show"
0000001 has 6 calls (max unlimited) in 'ringall' strategy (3s holdtime, 1s
talktime), W:0, C:1, A:9, SL:100.0% within 60s
   Members: 
      109 (Local/109 at from-queue/n) (Unavailable) has taken no calls yet
      108 (Local/108 at from-queue/n) (Unavailable) has taken no calls yet
      107 (Local/107 at from-queue/n) (Unavailable) has taken no calls yet
      106 (Local/106 at from-queue/n) (Unavailable) has taken no calls yet
      105 (Local/105 at from-queue/n) (Unavailable) has taken no calls yet
      104 (Local/104 at from-queue/n) (Unavailable) has taken no calls yet
      103 (Local/103 at from-queue/n) (Unavailable) has taken no calls yet
      102 (Local/102 at from-queue/n) (Unavailable) has taken no calls yet
      101 (Local/101 at from-queue/n) (Unavailable) has taken no calls yet
      100 (Local/100 at from-queue/n) (Not in use) has taken 1 calls (last
was 35 secs ago)
      114 (Local/114 at from-queue/n) (Unavailable) has taken no calls yet
      113 (Local/113 at from-queue/n) (Unavailable) has taken no calls yet
      112 (Local/112 at from-queue/n) (Unavailable) has taken no calls yet
      111 (Local/111 at from-queue/n) (Unavailable) has taken no calls yet
      110 (Local/110 at from-queue/n) (Unavailable) has taken no calls yet
   Callers: 
      1. SIP/0000-00000008 (wait: 0:57, prio: 0)
      2. SIP/0000-00000010 (wait: 0:27, prio: 0)
      3. SIP/0000-00000011 (wait: 0:27, prio: 0)
      4. SIP/0000-00000012 (wait: 0:27, prio: 0)
      5. SIP/0000-00000013 (wait: 0:27, prio: 0)
      6. SIP/0000-00000014 (wait: 0:04, prio: 0)

asterisk -rx "core show uptime"
System uptime: 1 minute, 41 seconds 

asterisk -rx "core show channels"
Channel              Location             State   Application(Data)       
     
SIP/0000-00000022    0000001 at ext-queues:9 Up      Queue(0000001,t,,)      
     
SIP/0000-00000021    0000001 at ext-queues:9 Up      Queue(0000001,t,,)      
     
SIP/0000-00000020    0000001 at ext-queues:9 Up      Queue(0000001,t,,)      
     
SIP/0000-0000001f    0000001 at ext-queues:9 Up      Queue(0000001,t,,)      
     
SIP/0000-0000001e    0000001 at ext-queues:9 Up      Queue(0000001,t,,)      
     
Local/100 at from-queue 0000001 at from-queue:1 Ringing AppQueue((Outgoing
Line))     
6 active channels
6 active calls
165 calls processed

top - 16:06:09 up  5:04,  2 users,  load average: 0.00, 0.02, 0.18

Cpu(s):  1.2%us,  2.3%sy,  0.0%ni, 95.0%id,  0.0%wa,  0.3%hi,  1.2%si, 
0.0%st

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+ COMMAND         
                                                                           
             
16815 asterisk  20   0 42116  19m 8376 S    8  1.9   0:20.26 asterisk    

It is not all. After the termination of the sipp, asterisk become strange:
it execute commands whits small delay & want no to execute command "core
restart now". I can restart asterisk only with killing PID.
So, i thik it is a bug. 
I tryed to find similar issue on this site before.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-02-22 07:35 trscod         New Issue                                    
2011-02-22 07:35 trscod         Asterisk Version          => 1.6.2.16.1      
2011-02-22 07:35 trscod         Regression                => No              
2011-02-22 07:35 trscod         SVN Branch (only for SVN checkouts, not tarball
releases) => N/A             
======================================================================




More information about the asterisk-bugs mailing list