Multi-channel stress testing program for SIP proxy

Source: Internet
Author: User

This stress test is based on the basiccall Project Modification of resiprocate 1.5 and passes the resiprocate 1.5 proxy test. In theory, it should also be able to perform stress tests on other proxies.

 

How to Use

1. Download resiprocate 1.5

2. Slave nodes/Resiprocate-1.5/resip/dum/test

3. Compile and run the basiccall Project

 

Notes:

1. If you use the resiprocate proxy, pay attention to several parameters.

Char * domains = "192.168.1.101 ";

Char * interfaces = "SIP: 192.168.1.101: 5060; timer-c = 2; Transport = UDP ";

Int nochallenge = true;

 

2. Currently, 10 lines are tested at the same time by default, which can be modified.

Const int linecount = 10;

Set several lines for simultaneous testing.

 

3. Handle the onfailure of testinvitesessionhandler and comment out the throw.

Fail is normal during stress testing and has no effect. Attention to fail can be placed in the critical test.

 

4. If the resiprocate repro is used as the proxy and the stress testing program is on the same computer as the proxy, add the following code in the sipstack constructor of proxy and UA.

For (INT I = 0; I <20; I ++)

Mports. insert (12000 + I );

 

5. the SDP Parsing bug occurs several times during the test. If you have this problem, you can refer to the following changes:

Set the fixed SDP

 

 
"
V = 0/R/N"


"O = 1900 369696545
369696545 in ip4 192.168.2.15/R/N"



"S = x-lite/R/N"


"C = in ip4
192.168.2.15/R/N"


"T = 0 0/R/N"


& Quot; M = audio 8000
RTP/AVP 8 3 98 97 101/R/N"


"A = rtpmap: 8
PCMA/8000/R/N"


"A = rtpmap: 3
GSM/8000/R/N"


"A = rtpmap: 98
Ilbc/R/N"


"A = rtpmap: 97
Speex/8000/R/N"


"A = rtpmap: 101
Telephone-event/8000/R/N"



"A = fmtp: 101 0-15/R/n
"

Common in practice
SDP

 



"V = 0/R/N"


"O = u As 12345 0 in
Ip4 192.168.1.100/R/N"



"S = stress_testing/R/N"


"C = in ip4
192.168.1.100/R/N"


"T = 0 0/R/N"


& Quot; M = audio 16002
RTP/AVP 0 96/R/N"


"A = rtpmap: 0
PCMU/8000/R/N"


"A = rtpmap: 96
Telephone-event/8000/R/N"


"A = fmtp: 96
0-11/R/N"

 

6. added a Thread class for fast processing of each UA and Dum to avoid the continuous growth of the re-sending package and proxy memory caused by the delay processing originally placed in a while loop.

 

PS. If you have any questions, please send an email to lidongshen at gmail.com

 

Update 2009-7-30 by SLD

The stress testing program is stable. After debugging for a month. The rated maximum number of concurrent tests is 10. Currently, every UA is put into a thread. Therefore, 20 threads are required for 10 concurrent tests, and 10 concurrent threads are sufficient to meet the general stress testing requirements. With Wireshark, all the calls are perfect. It was previously done in a loop. When the number of concurrent jobs is large, it is easy to resend, as well as the fail of registration and invitesession.

 

Update 2009-8-12 by SLD

Some modifications have been made during this period. There are many details about the changes, and most of them are information output and process control. We will not update the changes. You can see that the changes need to be made, in addition, it is worth reminding that the Register can be sent once, and then the handler will automatically send

Currently

CPU 230 @ 1.6 GHz
Single-core, 1 gb ram testing, and 5-way stress testing

 

In 30 hours, the memory for 80 thousand calls linearly increased to (actual memory: 450 MB, virtual memory: 450 MB). The CPU usage fluctuates from 3% to 5%, which is satisfactory.

So far, the company's resiprocate0.9-based proxy I updated to the latest version based on resiprocate, after a rigorous stress test and critical testing, it is a pass, sweat ~

 

Update 2009-8-19 by SLD

The current test score is

 

Proxy stress test score Duration: 157 hours 322900 call + 5 tests

Hardware
CPU 230 @ 1.6 GHz Single Core
Ram 1g

Because the memory is limited, or the performance is higher, some minor memory leaks, the memory will grow linearly with time, but it cannot be seen in normal use.


 

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.