User Tools

Site Tools


kemi:performance-tests:5.2.x

This is an old revision of the document!


KEMI Performances For v5.2.0

The tests were using Kamailio v5.2.0 just before release (Nov 2018). The focus was on comparing native execution time for request_route versus its equivalent ksr_request_route() for REGISTER processing. Note that the tests were not focusing in getting the maximum capacity of processing for Kamailio, but to discover the difference in execution time between native configuration file and equivalent KEMI scripts.

Testing Ecosystem

  • server: Intel NUC 7i7DNHE; CPU: I7-8650U @ 1.90GHz; CPU Cores: 4; CPU Threads: 8; Memory: 16GB
  • operating system: Debian Testing
  • ip address: 192.168.178.98
  • sip tool: sipp

SIPP Scenario

File: REGISTER_client.xml

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
 
<!-- This program is free software; you can redistribute it and/or      -->
<!-- modify it under the terms of the GNU General Public License as     -->
<!-- published by the Free Software Foundation; either version 2 of the -->
<!-- License, or (at your option) any later version.                    -->
<!--                                                                    -->
<!-- This program is distributed in the hope that it will be useful,    -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of     -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the      -->
<!-- GNU General Public License for more details.                       -->
<!--                                                                    -->
<!-- You should have received a copy of the GNU General Public License  -->
<!-- along with this program; if not, write to the                      -->
<!-- Free Software Foundation, Inc.,                                    -->
<!-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA             -->
<!--                                                                    -->
<!--                 Sipp default 'uac' scenario.                       -->
<!--                                                                    -->
 
<scenario name="Basic Sipstone UAC">
  <!-- In client mode (sipp placing calls), the Call-ID MUST be         -->
  <!-- generated by sipp. To do so, use [call_id] keyword.                -->
 
  <send retrans="500">
    <![CDATA[
 
      REGISTER sip:[service]@[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: sipp <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
      To: [service] <sip:[service]@[remote_ip]:[remote_port]>
      Call-ID: [call_id]///REGISTER
      CSeq: 1 REGISTER
      Contact: <sip:[service]@[local_ip]:[local_port]>
      Max-Forwards: 70
      Subject: Performance Test
      Content-Type: application/sdp
      Content-Length: [len]
    ]]>
  </send>
 
  <recv response="100" optional="true">
  </recv>
 
  <recv response="401" auth="true" rtd="true">
  </recv>
 
  <send retrans="500">
    <![CDATA[
 
      REGISTER sip:[service]@[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: sipp <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
      To: [service] <sip:[service]@[remote_ip]:[remote_port]>
      Call-ID: [call_id]///REGISTER
      CSeq: 1 REGISTER
      Contact: <sip:[service]@[local_ip]:[local_port]>
      Max-Forwards: 70
      Subject: Performance Test
      Content-Type: application/sdp
      Content-Length: [len]
    ]]>
  </send>
 
  <recv response="100" optional="true">
  </recv>
 
  <recv response="200">
  </recv>
 
  <!-- definition of the response time repartition table (unit is ms)   -->
  <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
 
  <!-- definition of the call length repartition table (unit is ms)     -->
  <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
 
</scenario>

Testing input file REGISTER_client.csv:

SEQUENTIAL
test0;192.168.178.98;[authentication username=test password=test0];
test1;192.168.178.98;[authentication username=test password=test1];
test2;192.168.178.98;[authentication username=test password=test2];
test3;192.168.178.98;[authentication username=test password=test3];
test4;192.168.178.98;[authentication username=test password=test4];
test5;192.168.178.98;[authentication username=test password=test5];
test6;192.168.178.98;[authentication username=test password=test6];
test7;192.168.178.98;[authentication username=test password=test7];
test8;192.168.178.98;[authentication username=test password=test8];
test9;192.168.178.98;[authentication username=test password=test9];

Testing command:

sipp 192.168.178.98 -sf REGISTER_client.xml -inf REGISTER_client.csv -trace_msg -trace_err -l 10000 -r 4000 -m 20000

Results

$ awk -f kamailio-exec-report.awk /tmp/kamailio-register-native.txt
cnt:  63157
sum:  4748289
min:  21
max:  2028
avg:  75.1823

$ awk -f kamailio-exec-report.awk /tmp/kamailio-register-lua.txt
cnt:  61080
sum:  4203512
min:  26
max:  1316
avg:  68.8198

$ awk -f kamailio-exec-report.awk /tmp/kamailio-register-native.txt
cnt:  63003
sum:  4728507
min:  21
max:  1791
avg:  75.0521

$ awk -f kamailio-exec-report.awk /tmp/kamailio-register-lua.txt
cnt:  61006
sum:  4852005
min:  25
max:  2535
avg:  79.5332

$ awk -f kamailio-exec-report.awk /tmp/kamailio-register-native.txt
cnt:  63564
sum:  4918165
min:  21
max:  3226
avg:  77.3734

$ awk -f kamailio-exec-report.awk /tmp/kamailio-register-lua.txt
cnt:  60567
sum:  4099683
min:  26
max:  2159
avg:  67.6884
kemi/performance-tests/5.2.x.1542987676.txt.gz · Last modified: 2018/11/23 16:41 by miconda