于2003年买的台式机现在淘汰了,为了物尽启用,现在部署了一套asterisk,并用SIPP作了压力测试。大大超出了我的预期,没有进行测试之前认为可以支持到10路-30路并发都不错啦。看看结果是否 就这么少?
测试环境:
操作系统:
CentOS 5.5的应用服务器剪裁定制版,精简版:
base安装版
http://dl.wdlinux.cn:5180/wdlinux_base_32.iso
asterisk 版本:asterisk-1.4.39.1
dahdi 驱动版本:dahdi-linux-complete-2.4.0+2.4.0
硬件平台(淘汰的台式机):
CPU :AMD Athlon(tm) XP 1800+
内存:256M SDRAM
硬盘:ATA 133 40G硬盘
主板: VIA-10
测试的时候,asterisk 只做呼出动作,不执行任何的agi 脚本。CDR 用数据库模式保存,asterisk采用默认配置,每次通话10分钟,语音编码采用ulaw。
50路OUTBOUND并发测试结果:
----------------------------- Statistics Screen ------- [1-9]: Change Screen --
Start Time | 2011-03-31 18:26:33:544 1301567193.544402
Last Reset Time | 2011-03-31 18:36:37:874 1301567797.874415
Current Time | 2011-03-31 18:36:38:556 1301567798.556454
-------------------------+---------------------------+--------------------------
Counter Name | Periodic value | Cumulative value
-------------------------+---------------------------+--------------------------
Elapsed Time | 00:00:00:682 | 00:10:05:012
Call Rate | 0.000 cps | 0.083 cps
-------------------------+---------------------------+--------------------------
Incoming call created | 0 | 0
OutGoing call created | 0 | 50
Total Call created | | 50
Current Call | 0 |
-------------------------+---------------------------+--------------------------
Successful call | 7 | 50
Failed call | 0 | 0
-------------------------+---------------------------+--------------------------
Response Time 1 | 00:00:00:000 | 00:00:00:005
Call Length | 00:10:00:009 | 00:10:00:009
------------------------------ Test Terminated --------------------------------
系统负载:
top - 18:31:49 up 1 day, 41 min, 2 users, load average: 0.60, 0.55, 0.26
Tasks: 54 total, 1 running, 53 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.3%us, 6.3%sy, 0.0%ni, 82.1%id, 0.0%wa, 5.0%hi, 4.3%si, 0.0%st
Mem: 222904k total, 201956k used, 20948k free, 14932k buffers
Swap: 514072k total, 83512k used, 430560k free, 98868k cached
80路并发测试:
160 active channels
80 active calls
服务器性能1:
top - 18:39:37 up 1 day, 48 min, 2 users, load average: 0.81, 0.54, 0.37
Tasks: 54 total, 1 running, 53 sleeping, 0 stopped, 0 zombie
Cpu(s): 6.0%us, 16.6%sy, 0.0%ni, 57.1%id, 0.0%wa, 12.0%hi, 8.3%si, 0.0%st
Mem: 222904k total, 205044k used, 17860k free, 15548k buffers
Swap: 514072k total, 83512k used, 430560k free, 98932k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1152 root 15 0 52184 19m 6368 S 36.9 9.2 7:14.60 asterisk
服务器性能2:
top - 18:41:37 up 1 day, 50 min, 2 users, load average: 1.24, 0.79, 0.48
Tasks: 54 total, 3 running, 51 sleeping, 0 stopped, 0 zombie
Cpu(s): 5.6%us, 16.9%sy, 0.0%ni, 54.2%id, 0.0%wa, 14.3%hi, 9.0%si, 0.0%st
Mem: 222904k total, 205404k used, 17500k free, 15740k buffers
Swap: 514072k total, 83512k used, 430560k free, 98932k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1152 root 15 0 52184 19m 6368 S 37.9 9.2 7:55.74 asterisk
服务器性能3:
top - 18:42:40 up 1 day, 51 min, 2 users, load average: 1.15, 0.88, 0.53
Tasks: 54 total, 2 running, 52 sleeping, 0 stopped, 0 zombie
Cpu(s): 4.3%us, 10.7%sy, 0.0%ni, 69.0%id, 0.0%wa, 10.0%hi, 6.0%si, 0.0%st
Mem: 222904k total, 205524k used, 17380k free, 15836k buffers
Swap: 514072k total, 83512k used, 430560k free, 98924k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1152 root 15 0 52184 19m 6368 S 26.3 9.2 8:17.32 asterisk
SIPP 结果:
到此,测试完毕。
In pcap 10minites_G711.cap, npkts 30249
max pkt length 180
base port 30054
Resolving remote host '10.201.88.97'... Done.
------------------------------ Scenario Screen -------- [1-9]: Change Screen --
Call-rate(length) Port Total-time Total-calls Remote-host
10.0(0 ms)/1.000s 25060 608.01 s 80 10.201.88.97:5060(UDP)
Call limit reached (-m 80), 0.640 s period 2 ms scheduler resolution
0 calls (limit 18000) Peak was 80 calls, after 8 s
0 Running, 0 Paused, 0 Woken up
0 out-of-call msg (discarded)
0 open sockets
2412692 Total RTP pckts sent 0.000 last period RTP rate (kB/s)
Messages Retrans Timeout Unexpected-Msg
INVITE ----------> 80 0 0
407 <---------- 80 0 0 0
ACK ----------> 80 0
INVITE ----------> 80 0 0
100 <---------- 80 0 0 0
180 <---------- 0 0 0 0
200 <---------- E-RTD1 80 0 0 0
ACK ----------> 80 0
[ NOP ]
Pause [ 10:00] 80 0
BYE ----------> 80 0 0
200 <---------- 80 0 0 0
------------------------------ Test Terminated --------------------------------
----------------------------- Statistics Screen ------- [1-9]: Change Screen --
Start Time | 2011-03-31 18:39:05:959 1301567945.959516
Last Reset Time | 2011-03-31 18:49:13:332 1301568553.332532
Current Time | 2011-03-31 18:49:13:973 1301568553.973603
-------------------------+---------------------------+--------------------------
Counter Name | Periodic value | Cumulative value
-------------------------+---------------------------+--------------------------
Elapsed Time | 00:00:00:641 | 00:10:08:014
Call Rate | 0.000 cps | 0.132 cps
-------------------------+---------------------------+--------------------------
Incoming call created | 0 | 0
OutGoing call created | 0 | 80
Total Call created | | 80
Current Call | 0 |
-------------------------+---------------------------+--------------------------
Successful call | 7 | 80
Failed call | 0 | 0
-------------------------+---------------------------+--------------------------
Response Time 1 | 00:00:00:000 | 00:00:00:005
Call Length | 00:10:00:011 | 00:10:00:009
------------------------------ Test Terminated --------------------------------
120路并发测试,每通话1分钟。
Dispatch call 的时候的负载:
性能运行提示1:
top - 18:57:33 up 1 day, 1:06, 2 users, load average: 0.01, 0.25, 0.47
Tasks: 54 total, 1 running, 53 sleeping, 0 stopped, 0 zombie
Cpu(s): 10.6%us, 15.3%sy, 0.0%ni, 53.5%id, 0.0%wa, 11.3%hi, 9.3%si, 0.0%st
Mem: 222904k total, 208068k used, 14836k free, 16828k buffers
Swap: 514072k total, 83512k used, 430560k free, 99044k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1152 root 15 0 55904 21m 6368 S 38.5 9.8 10:51.03 asterisk
性能运行提示2:
top - 18:58:33 up 1 day, 1:07, 2 users, load average: 1.54, 0.70, 0.61
Tasks: 54 total, 2 running, 52 sleeping, 0 stopped, 0 zombie
Cpu(s): 9.6%us, 19.6%sy, 0.0%ni, 41.2%id, 0.0%wa, 17.9%hi, 11.6%si, 0.0%st
Mem: 222904k total, 211128k used, 11776k free, 16916k buffers
Swap: 514072k total, 83512k used, 430560k free, 99048k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1152 root 15 0 63836 23m 6368 S 52.1 11.0 11:22.51 asterisk
------------------------------ Scenario Screen -------- [1-9]: Change Screen --
Call-rate(length) Port Total-time Total-calls Remote-host
10.0(0 ms)/1.000s 25060 271.14 s 120 10.201.88.97:5060(UDP)
Call limit reached (-m 120), 1.001 s period 2 ms scheduler resolution
1 calls (limit 18000) Peak was 120 calls, after 12 s
0 Running, 1 Paused, 0 Woken up
0 out-of-call msg (discarded)
2 open sockets
1589690 Total RTP pckts sent 1030.798 last period RTP rate (kB/s)
Messages Retrans Timeout Unexpected-Msg
INVITE ----------> 120 0 0
407 <---------- 120 0 0 0
ACK ----------> 120 0
INVITE ----------> 120 0 0
100 <---------- 120 0 0 0
180 <---------- 0 0 0 0
200 <---------- E-RTD1 120 0 0 0
ACK ----------> 120 0
[ NOP ]
Pause [ 10:00] 120 119
BYE ----------> 0 0 0
200 <---------- 0 0 0 0
------- Waiting for active calls to end. Press [q] again to force exit. -------
可能跟网络带宽问题,内网带宽为100M,没有成功。
200 active channels
100 active calls
top - 19:03:04 up 1 day, 1:12, 2 users, load average: 0.26, 0.37, 0.49
Tasks: 54 total, 2 running, 52 sleeping, 0 stopped, 0 zombie
Cpu(s): 8.3%us, 20.3%sy, 0.0%ni, 40.3%id, 0.0%wa, 18.7%hi, 12.3%si, 0.0%st
Mem: 222904k total, 211848k used, 11056k free, 17376k buffers
Swap: 514072k total, 83512k used, 430560k free, 99092k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1152 root 15 0 63836 24m 6368 S 53.2 11.1 11:33.22 asterisk
100路并发测试:
负载1:
top - 19:03:52 up 1 day, 1:13, 2 users, load average: 1.54, 0.74, 0.61
Tasks: 54 total, 2 running, 52 sleeping, 0 stopped, 0 zombie
Cpu(s): 6.7%us, 18.0%sy, 0.0%ni, 48.7%id, 0.0%wa, 16.7%hi, 10.0%si, 0.0%st
Mem: 222904k total, 211788k used, 11116k free, 17444k buffers
Swap: 514072k total, 83512k used, 430560k free, 99092k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1152 root 15 0 63836 24m 6368 S 46.5 11.1 11:54.57 asterisk
SIPP 测试结果:
In pcap 10minites_G711.cap, npkts 30249
max pkt length 180
base port 30054
Resolving remote host '10.201.88.97'... Done.
------------------------------ Scenario Screen -------- [1-9]: Change Screen --
Call-rate(length) Port Total-time Total-calls Remote-host
10.0(0 ms)/1.000s 25060 78.06 s 100 10.201.88.97:5060(UDP)
Call limit reached (-m 100), 0.015 s period 2 ms scheduler resolution
0 calls (limit 18000) Peak was 100 calls, after 10 s
0 Running, 1 Paused, 0 Woken up
0 out-of-call msg (discarded)
0 open sockets
364871 Total RTP pckts sent 68.012 last period RTP rate (kB/s)
Messages Retrans Timeout Unexpected-Msg
INVITE ----------> 100 0 0
407 <---------- 100 0 0 0
ACK ----------> 100 0
INVITE ----------> 100 0 0
100 <---------- 100 0 0 0
180 <---------- 0 0 0 0
200 <---------- E-RTD1 100 0 0 0
ACK ----------> 100 0
[ NOP ]
Pause [ 10:00] 100 100
BYE ----------> 0 0 0
200 <---------- 0 0 0 0
------------------------------ Test Terminated --------------------------------
----------------------------- Statistics Screen ------- [1-9]: Change Screen --
Start Time | 2011-03-31 19:02:47:600 1301569367.600724
Last Reset Time | 2011-03-31 19:04:05:659 1301569445.659223
Current Time | 2011-03-31 19:04:05:674 1301569445.674801
-------------------------+---------------------------+--------------------------
Counter Name | Periodic value | Cumulative value
-------------------------+---------------------------+--------------------------
Elapsed Time | 00:00:00:015 | 00:01:18:074
Call Rate | 0.000 cps | 1.281 cps
-------------------------+---------------------------+--------------------------
Incoming call created | 0 | 0
OutGoing call created | 0 | 100
Total Call created | | 100
Current Call | 0 |
-------------------------+---------------------------+--------------------------
Successful call | 0 | 0
Failed call | 1 | 100
-------------------------+---------------------------+--------------------------
Response Time 1 | 00:00:00:000 | 00:00:00:006
Call Length | 00:01:08:065 | 00:01:08:063
------------------------------ Test Terminated --------------------------------
2011-03-31 19:04:05:673 1301569445.673561: Aborting call on an unexpected BYE for call: 100-20154@10.201.107.72.
sipp: There were more errors, see 'test_cap_bye.ok_20154_errors.log' file
以下为G729和Ulaw编码的转换:
G729采用:codec_g729-ast14-gcc4-glibc-athlon-sse.so
100路并发loading:
CPU 性能:
top - 20:58:52 up 1 day, 3:08, 2 users, load average: 0.17, 0.18, 0.06
Tasks: 56 total, 1 running, 55 sleeping, 0 stopped, 0 zombie
Cpu(s): 42.9%us, 12.6%sy, 0.0%ni, 23.6%id, 0.0%wa, 11.0%hi, 10.0%si, 0.0%st
Mem: 222904k total, 219356k used, 3548k free, 23024k buffers
Swap: 514072k total, 83312k used, 430760k free, 89224k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1152 root 15 0 75552 34m 6368 S 73.7 15.9 16:26.73 asterisk
top - 21:00:16 up 1 day, 3:09, 2 users, load average: 7.09, 2.72, 0.99
Tasks: 56 total, 2 running, 54 sleeping, 0 stopped, 0 zombie
Cpu(s): 43.6%us, 13.2%sy, 0.0%ni, 24.4%id, 0.0%wa, 10.2%hi, 8.6%si, 0.0%st
Mem: 222904k total, 219156k used, 3748k free, 23192k buffers
Swap: 514072k total, 83312k used, 430760k free, 88024k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1152 root 15 0 75492 35m 6368 S 73.8 16.2 17:29.83 asterisk
120并发负载:
top - 21:04:27 up 1 day, 3:13, 2 users, load average: 0.66, 2.33, 1.34
Tasks: 56 total, 2 running, 54 sleeping, 0 stopped, 0 zombie
Cpu(s): 41.2%us, 11.6%sy, 0.0%ni, 26.2%id, 0.0%wa, 9.3%hi, 11.6%si, 0.0%st
Mem: 222904k total, 219652k used, 3252k free, 23592k buffers
Swap: 514072k total, 83312k used, 430760k free, 87584k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1152 root 15 0 75616 36m 6368 S 67.1 16.5 18:43.35 asterisk
负载:
top - 21:04:58 up 1 day, 3:14, 2 users, load average: 14.47, 5.63, 2.47
Tasks: 56 total, 2 running, 54 sleeping, 0 stopped, 0 zombie
Cpu(s): 53.8%us, 14.5%sy, 0.0%ni, 8.3%id, 0.0%wa, 13.5%hi, 9.9%si, 0.0%st
Mem: 222904k total, 219368k used, 3536k free, 23436k buffers
Swap: 514072k total, 83312k used, 430760k free, 84452k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1152 root 15 0 78468 38m 6368 S 90.3 17.8 19:10.62 asterisk
240 active channels
120 active calls
测试结束。