Asterisk V1.4.11 Performance

Asterisk V1.4.11 Performance

After receiving much positive feedback about our OpenSER performance test, we turned our attention to Asterisk. There has always been an active debate about the scalability of Asterisk so we decided to find out for ourselves and test the performance of Asterisk as a SIP Back to Back User Agent (B2BUA). The purpose of our test was to answer the two questions below:

  • How many simultaneous calls can an Asterisk handle as a B2BUA?

  • What is the cost per port (per simultaneous call)?

Test Plan

We carefully designed our performance test to replicate conditions in a production network carrying wholesale VoIP traffic. For the test, Asterisk V1.4.11 was configured as a B2BUA on a host server with two, dual core, 2.33 GHz CPUs. Two test suites were run. One with no transcoding and the other with G.711 to G.729 transcoding. Click here to download the entire test plan, our methodology, configuration files and test data.

Summary of Results

  • No transcoding: 1500 simultaneous calls at a cost of $2 per port

  • G.711 to G.729 Transcoding: 400 simultaneous calls at a cost of $17.50 per port

No Transcoding

The following chart plots CPU and memory utilization of the server hosting the Asterisk B2BUA as a function of simultaneous calls. Calls to and from the B2BUA used the G.711 codec and all RTP packets flowed through Asterisk. Memory utilization is minimal and CPU utilization grows linearly with the number of simultaneous calls. At 1560 simultaneous calls, the CPU utilization reaches 92%. The original retail price, in early 2007, for this server was $3000. The $3000 hardware cost divided by 1500 simultaneous calls equals $2 per B2BUA port.

G.711 to G.729 Transcoding

The following chart plots CPU and memory utilization of the server hosting the Asterisk B2BUA as a function of simultaneous calls. Calls to the B2BUA used the G.711 codec and were transcoded by Asterisk to G.729. Memory utilization is minimal and CPU utilization grows linearly with the number of simultaneous calls. At 414 simultaneous calls, the CPU utilization reaches 93%. The original retail price, in early 2007, for this server was $3000. The license royalty for the G.729 codec, available from Digium, is $10 per port. The total system cost is $3,000 for server hardware plus the $4,000 G.729 codec royalty ($10 per port * 400 ports) is $7,000. The total cost per B2BUA port is $7,000 divided 400 simultaneous calls or $17.50 per port.

Test Bed Diagram

The following diagram illustrates the test network and call scenario. The server hosting the Asterisk B2BUA is a Dell Precision 490 server with two Intel Xeon 5140 dual core, 2.33 GHz, CPUs and 4 GB RAM.

  1. The SIPp client sends a SIP Invite to the Asterisk B2BUA.
  2. Asterisk sends an OSP AuthorizationRequest to the OSP server. The OSP server returns an OSP AuthorizationResponse with five possible destinations in random order.
  3. Asterisk sends a SIP Invite to the destination. Only the SIPp server can complete the call. The other destinations simulate call failures. On average, Asterisk attempts the call to two failure destinations before completing the call to the SIPp server.
  4. When the call ends, Asterisk sends a call detail record (CDR) to the OSP server

你可能感兴趣的:(performance)