<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p>Hello,</p>
<p>20.000 - 50.000 queries per seconds from the usrloc module sounds really strange. This should definitely not happen for a normal few thousand user test.<br>
</p>
<p>I would suggest to look deeper into it, maybe your test setup is doing strange things here, or there is an error in the cfg. Ideally you can reproduce it with a smaller user set. Then you can use debugging mode to have a look what is actually causing this
 queries.</p>
<p>Cheers,</p>
<p>Henning<br>
</p>
<p><br>
</p>
<div class="moz-cite-prefix">Am 09.01.20 um 09:12 schrieb Voip support:<br>
</div>
<blockquote type="cite" cite="mid:CAFCTns+d8NPnQNJwk+wfms0xMWtpDfZ=qRuxhKswVzd_faSfFg@mail.gmail.com">
<div dir="ltr">Dear Community,
<div><br>
</div>
<div>I am facing an issue with using the usrloc and registrar module to save registration informations in database.<br>
It works for me but when tested yesterday with around 1500-1600 users i got a lot of queries on database mostly SELECT. I figured out that changing db_mode to 0 resolves the issue because it works totally in memory (almost no select query on DB).</div>
<div>So i think its location module.<br>
<br>
I tried db_mode=3 and db_mode=2 but both create a lot of load on database.<br>
<br>
</div>
<div>The only function i need is to store some information of REGISTER in DB to know the count of registered users and the source IP / user-agent / username data.<br>
It needs to be saved in table on successfull REGISTRATION and removed when registration is expired or somebody UN-REGISTER.<br>
<br>
When used location module for that there was lots of queries like this (20000-50000 per second): </div>
<div><br>
</div>
<div>select `contact`,`expires`,`q`,`callid`,`cseq`,`flags`,`cflags`,`user_agent`,`received`,`path`,`socket`,`methods`,`last_modified`,`ruid`,`instance`,`reg_id`,`server_id`,`connection_id`,`keepalive` from `location` where `username`='xxxx' order by q<br>
</div>
<div><br>
</div>
<div>update `location` set `expires`='2020-01-08 18:51:39',`q`=-1.000000 ,`cseq`=2042,`flags`=0,`cflags`=64,`user_agent`='n/a',`received`='sip:xxxx:5060',`path`=NULL,`socket`='udp:xxxx:20051',`methods`=NULL,`last_modified`='2020-01-08 18:50:39',`callid`='1205705227@xxxx',`instance`=NULL,`reg_id`=0,`server_id`=0,`connection_id`=-1,`keepalive`=1,`contact`='sip:1019@xxx:5060'
 where `ruid`='uloc-5e1642a3-2b90-0161'<br>
</div>
<div><br>
</div>
<div>Looking up for ideas how to resolve this issue.<br>
I was thinking of implementing INSERT UPDATE and DELETE based on SQLops. <br>
But how to recognize that REGISTER was expiered?<br>
<br>
I would like location module to work mostly like in-memory. <br>
For each new registration INSERT entry to DB, each REGISTER re-new an UPDATE or DELETE should be triggered.<br>
 So i would expect for 1000 users around 2000 operations per minute.</div>
<div><br>
</div>
<div>Best regards,<br>
Tom</div>
<div><br>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Kamailio (SER) - Users Mailing List
<a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a>
<a class="moz-txt-link-freetext" href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<pre class="moz-signature" cols="72">-- 
Kamailio Merchandising - <a class="moz-txt-link-freetext" href="https://skalatan.de/merchandising/">https://skalatan.de/merchandising/</a>
Kamailio services - <a class="moz-txt-link-freetext" href="https://skalatan.de/services">https://skalatan.de/services</a>
Henning Westerholt - <a class="moz-txt-link-freetext" href="https://skalatan.de/blog/">https://skalatan.de/blog/</a></pre>
</body>
</html>