<div dir="ltr"><div><div>I use the /misc/examples/kemi/kamailio-basic-kemi.cfg with log disabled. No log is printed at all, on a Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz.</div><div>What's your results ?</div><div><br></div><div># and my lua file</div><div>-- Kamailio - equivalent of routing blocks in Lua<br>--<br>-- KSR - the new dynamic object exporting Kamailio functions (kemi)<br>-- sr - the old static object exporting Kamailio functions<br>--<br><br>-- Relevant remarks:<br>-- * do not execute Lua 'exit' - that will kill Lua interpreter which is<br>-- embedded in Kamailio, resulting in killing Kamailio<br>-- * use KSR.x.exit() to trigger the stop of executing the script<br>-- * KSR.drop() is only marking the SIP message for drop, but doesn't stop<br>-- the execution of the script. Use KSR.x.exit() after it or KSR.x.drop()<br>--<br><br><br>-- global variables corresponding to defined values (e.g., flags) in kamailio.cfg<br>--FLT_ACC=1<br><br>-- SIP request routing<br>-- equivalent of request_route{}<br>function ksr_request_route()<br> KSR.info("===== request route\n");<br>end<br><br>function ksr_core_received()<br> KSR.x.exit();<br>end<br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 12, 2019 at 4:21 PM Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<p>Do you run with high debug value (lot of log messages)? Because I
don't get similar results to yours. Maybe you can share full
kamailio.cfg and lua script for both cases.</p>
<p>Cheers,<br>
Daniel<br>
</p>
<div>On 12.11.19 22:11, GG GG wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Hello,</div>
<div><br>
</div>
<div>I removed KSR.x.exit() and I got same results for cpu usage
and Recv-Q.</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Nov 12, 2019 at 3:56
PM Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<p>Hello,</p>
<p>can you remove the KSR.x.exit() and test again? It will
be the same effect from sip routing point of view, just
to see what is the result.</p>
<p>Because Lua 'exit' cannot be used, KSR.x.exit() is a
workaround relying on error/exception handling with
string comparison that I did.</p>
<p>However, overall KSR.x.exit() alone has an
insignificant effect on a production configuration,
based on the tests I did for kamailio 5.2, you can look
for more at:</p>
<p> - <a href="https://www.kamailio.org/wiki/kemi/performance-tests/5.2.x" target="_blank">https://www.kamailio.org/wiki/kemi/performance-tests/5.2.x</a></p>
<p>Cheers,<br>
Daniel<br>
</p>
<div>On 12.11.19 21:28, GG GG wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Hi Daniel,</div>
<div><br>
</div>
<div>For lua example, it's just an error when writing
my email... in my config file I have KSR.x.exit();</div>
<div>I have not tested a more complex config, but I'm
curious about kemi framework and how it works. So
before anything else I made a simple test to know
the cpu overhead.</div>
<div>For this test, I noticed that the Recv-Q of
kamailio remains high with kemi/lua, and with the
native one remains to 0, with children=1 of course.</div>
<div>Next step, is to use a more complex config file.</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Nov 12,
2019 at 3:00 PM Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<p>Hello,</p>
<p>is it really just 'exit' in the
ksr_core_received()? Because that should shut
down kamailio.</p>
<p>Anyhow, practically with the examples here,
you test the difference between looking up a
function and doing exit in native kamailio.cfg
and lua script, which is really marginal
comparing with the rest of configuration file
in a usual production deployment. Have you
tested with a more complex set of
actions/functions?</p>
<p>Cheers,<br>
Daniel<br>
</p>
<div>On 12.11.19 17:36, GG GG wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi!
<div><br>
<div>I just made a simple test performance
between native script and kemi/lua with
the event_route[core:msg-received]
callback.</div>
</div>
<div><br>
</div>
<div># lua script children=1
cpu.process=100%</div>
<div>function ksr_core_received()<br>
</div>
<div> exit;</div>
<div>end</div>
<div><br>
</div>
<div># native script children=1
cpu.process=70%</div>
<div>event_route[core:msg-received] {</div>
<div> exit;</div>
<div>}<br>
</div>
<div><br>
</div>
<div># tested with udp 5060, 1000 Mbits/sec</div>
<div>iperf -c 127.0.0.1 -p 5060 -u -b1000m</div>
<div><br>
</div>
<div>I don't know if it's normal and what we
should expect from kemi, but I would like
to share this with you. Maybe someone
could confirm the performance difference.</div>
<div><br>
</div>
<div>Have a good day !</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
Kamailio (SER) - Users Mailing List
<a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<pre cols="72">--
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a>
Kamailio World Conference - April 27-29, 2020, in Berlin -- <a href="http://www.kamailioworld.com" target="_blank">www.kamailioworld.com</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
<pre cols="72">--
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a>
Kamailio World Conference - April 27-29, 2020, in Berlin -- <a href="http://www.kamailioworld.com" target="_blank">www.kamailioworld.com</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
<pre cols="72">--
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a>
Kamailio World Conference - April 27-29, 2020, in Berlin -- <a href="http://www.kamailioworld.com" target="_blank">www.kamailioworld.com</a></pre>
</div>
</blockquote></div>