Asterisk performance benchmark

I’m trying to assess the performance of my Asterisk setup, using SIPp.
I have two instances of SIPp running a ‘caller’ and a ‘callee’ scenario respectively on two machines; when the call is established, they both send an RTP stream (codec ulaw). The caller hangs up after 60 seconds. The transport is UDP. Moreover, I launch SIPp to run the scenario with a limit of 200 executions in parallel (so at any moment, I have max 200 active calls between the two endpoints).

On this setup, the machine on which Asterisk is running (Intel Xeon CPU E3-1225 v5 @ 3.30GHz Quad Core, and 8 GB RAM) is at ~40% CPU, ~30% RAM. The 3 machines (clients and server) are on the same 100Mbit LAN. The network utilization on the server is 40 Mbit/s.

Now, the problem is: if I (manually) make a call with two SIP clients on the two client machines, the audio quality is deteriorated, almost to the point of indiscernibility.

My question is, how come the audio quality is low if none of the resources I monitored (CPU, memory, and network bandwidth) is totally used up?

What other factors should I consider?

Thank you.

Just because it’s not totally used up doesn’t mean that at a certain point things can degrade. Also what else is happening? Are you transcoding? Are you recording? All of this is on the local network your testing?

Thank you for the hints. Indeed, what I’m looking for are things I didn’t think of, that maybe can be optimized out. I’m not transcoding nor recording, and everything is on the local network.

Are you running Chan_SIP for this?

Oh sorry, I forgot to mention, I’m running chan_pjsip.

Try turning on rtp debugging in asterisk:

*CLI> rtp set debug on

As well as doing a packet capture during an offending call. You should be able to hopefully see if there is some kind of packet loss or delay happening.

1 Like