Tipping the Scales: Measuring and Scaling Asterisk

Post on 29-Nov-2014

349 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

In this presentation delivered at AstriCon 2014, we look at answering the question: "Does Asterisk scale?!" The answer is nuanced. The presentation includes terminology and tools, as well as some notes on methodology. In the final few slides, we look at several ways Asterisk is employed (B2BUA, transcoding, conferencing, recording) and the impact each feature has on scaling Asterisk. Using the tools and methodologies presented here, I encourage everyone to test their own voice applications and answer the question for themselves: Does It Scale?!

Transcript

Tipping the Scales

Measuring and Scaling Asterisk

CAN YOU SPEAK MAGIC?

2

Ben Klang

CAN YOU SPEAK MAGIC?

3

“But…Does it Scale?!”

CAN YOU SPEAK MAGIC?

4

Yes!*

*Probably. This is what we’re gonna talk about

CAN YOU SPEAK MAGIC?

AGENDA: TIPPING THE SCALES

•Scaling terminology•Tools of the Trade•Testing Methodology•Results

5

CAN YOU SPEAK MAGIC?

6

Scaling Terminology

CAN YOU SPEAK MAGIC?

7

Calls Per Second (CPS)

Concurrent Calls (CC)

CAN YOU SPEAK MAGIC?

CALLS PER SECOND•Rate at which new calls are started•5CPS = 5 calls started each second•Usually meaningful only where:•Average call duration is very short (dialers)•No media is handled (proxies)•For most people, this is not the bottleneck

8

CAN YOU SPEAK MAGIC?

CONCURRENT CALLS•Number of calls active at any particular moment in time•This is what most people really care about when scaling Asterisk

9

CAN YOU SPEAK MAGIC?

HOW CPS AND CC RELATECPS * Avg. Call Duration = CC (peak)

5 CPS * 30s = 150 CC10 CPS * 30s = 300 CC

10 CPS * 60s = 600 CC

10

CAN YOU SPEAK MAGIC?

11

Tools of the Trade

CAN YOU SPEAK MAGIC?

SIPP

•THE Open Source SIP load generating tool•High Performance•Very Flexible•XML-based configuration•Awkward command line options•Very Flexible

12

CAN YOU SPEAK MAGIC?

13

The Problem with SIPp

CAN YOU SPEAK MAGIC?

STEP 1: WRITE SIP

14

CAN YOU SPEAK MAGIC?

STEP 2: RECORD A CALL

15

CAN YOU SPEAK MAGIC?

STEP 3: DECIDE SIPP ARGS

16

sudo /usr/local/sbin/sipp -p 8836 \ -sf scenario.xml -l 1000 -m 20000 \ -fd 1 -r 5 -s 1 \ -no_rate_quit -rate_max 35\ -rate_increase 1 -rate_interval 30 \ -trace_stat -stf stats_file.txt\ -i 10.3.18.108 -mp 20953 -trace_screen \ -screen_file screen_file.txt \ -trace_err -error_file errors.log \ -t u1 10.3.18.134

CAN YOU SPEAK MAGIC?

STEP 4: TEST

17

CAN YOU SPEAK MAGIC?

PERMUTATIONS!

18

CAN YOU SPEAK MAGIC?

19

The Problem with SIPp:

CAN YOU SPEAK MAGIC?

20

CAN YOU SPEAK MAGIC?

SippyCup

1. Write test steps in simple syntax

2. Compile SIPp XML + PCAP audio

3. Run SIPp with correct arguments

21

CAN YOU SPEAK MAGIC?

EXAMPLE: SIPPY CUP

22

source: 192.0.2.15destination: 192.0.2.200max_concurrent: 1000calls_per_second: 5number_of_calls: 20000steps: - invite - wait_for_answer - sleep 3 - send_digits '4045551234' - sleep 5 - send_digits '#' - wait_for_hangup

CAN YOU SPEAK MAGIC?

TIME TO CREATE ONE TEST

23

SIPp: ~1 hour

SippyCup: ~1 minute

CAN YOU SPEAK MAGIC?

24

SIP Treadmill

CAN YOU SPEAK MAGIC?

25

CAN YOU SPEAK MAGIC?

26

CAN YOU SPEAK MAGIC?

27

Testing Methodology

CAN YOU SPEAK MAGIC?

BAD QUESTIONS•How many calls can Asterisk handle?•I heard “X” is faster than “Y”?•How much CPU/Memory do I need?•Does it scale?!

28

CAN YOU SPEAK MAGIC?

GOOD QUESTIONS•What is my average call duration?•Am I touching the media?•What if I enable recording?•Can I optimize out transcoding?•Do I need mixing/conferencing?

29

CAN YOU SPEAK MAGIC?

30

How much does each Asterisk feature

impact the capacity of a given system?

CAN YOU SPEAK MAGIC?

THE PERFORMANCE QUADUMVIRATE

31

CAN YOU SPEAK MAGIC?

32

Results

CAN YOU SPEAK MAGIC?

BASELINE: B2BUA

33

CAN YOU SPEAK MAGIC?

BASELINE: B2BUA

33

CAN YOU SPEAK MAGIC?

BASELINE: B2BUA

33

Saturation Point

CAN YOU SPEAK MAGIC?

FILE PLAYBACK (NATIVE)

34

CAN YOU SPEAK MAGIC?

FILE PLAYBACK (NATIVE)

34

CAN YOU SPEAK MAGIC?

FILE PLAYBACK (NATIVE)

34

CAN YOU SPEAK MAGIC?

FILE PLAYBACK (TRANSCODED)

35

CAN YOU SPEAK MAGIC?

FILE PLAYBACK (TRANSCODED)

35

CAN YOU SPEAK MAGIC?

FILE PLAYBACK (TRANSCODED)

35

CAN YOU SPEAK MAGIC?

CONFERENCES (~10 CALLS/ROOM)

36

CAN YOU SPEAK MAGIC?

CONFERENCES (~10 CALLS/ROOM)

36

CAN YOU SPEAK MAGIC?

CONFERENCES (~10 CALLS/ROOM)

36

CAN YOU SPEAK MAGIC?

RECORDED CALL

37

CAN YOU SPEAK MAGIC?

RECORDED CALL

37

CAN YOU SPEAK MAGIC?

RECORDED CALL

37

CAN YOU SPEAK MAGIC?

THE RESULTS

38

BaselinePlayback (native)

Playback (xcode)Split Conf

Recorded

49%

66%71%75%

100%

CAN YOU SPEAK MAGIC?

IF YOU HEAR NOTHING ELSE…•Test for yourself!•Open Source tools make this not as hard as it used to be•Sippy Cup•SIP Treadmill•SIPp

39

CAN YOU SPEAK MAGIC?

40

@MojoLingo

@bklang bklang@mojolingo.com

sipp.sf.net

mojolingo.github.io/sippy_cup

github.com/att-innovate/SIPTreadmill

top related