kemi:performance-tests:5.2.x
This is an old revision of the document!
Table of Contents
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 15:41 by miconda