This is by design.  When you have many thousands of presence subscriptions you need to service them evenly across time instead of in big lumps.

If you don't want this behaviour then you can set the notifier_processes modparam to 0.  But, if you do this you should consider not using subs_db_mode 3 as there are many race-hazards in presence that are fixed by using the notifier_processes.

Regards,

Peter

On Fri, 2012-11-09 at 12:01 +0100, Andrew Pogrebennyk wrote:
Hi,
when presence module is running with subs_db_mode=3 it makes an
excessive number of SQL select queries, litelly dozens per second:
> 		25232 Query	select presentity_uri,callid,to_tag,from_tag,event from active_watchers where updated=64 AND event<>'presence.winfo'
> 		25233 Query	select presentity_uri,callid,to_tag,from_tag,event from active_watchers where updated=116 AND event<>'presence.winfo'
> 		25233 Query	select presentity_uri,callid,to_tag,from_tag,event from active_watchers where updated=116 AND event='presence.winfo'
> 		25232 Query	select presentity_uri,callid,to_tag,from_tag,event from active_watchers where updated=64 AND event='presence.winfo'
> 		25231 Query	select presentity_uri,callid,to_tag,from_tag,event from active_watchers where updated=14 AND event<>'presence.winfo'
> 		25231 Query	select presentity_uri,callid,to_tag,from_tag,event from active_watchers where updated=14 AND event='presence.winfo'
> 		25233 Query	select presentity_uri,callid,to_tag,from_tag,event from active_watchers where updated=118 AND event<>'presence.winfo'
> 		25232 Query	select presentity_uri,callid,to_tag,from_tag,event from active_watchers where updated=66 AND event<>'presence.winfo'
> 		25233 Query	select presentity_uri,callid,to_tag,from_tag,event from active_watchers where updated=118 AND event='presence.winfo'
> 		25232 Query	select presentity_uri,callid,to_tag,from_tag,event from active_watchers where updated=66 AND event='presence.winfo'
> 		25231 Query	select presentity_uri,callid,to_tag,from_tag,event from active_watchers where updated=16 AND event<>'presence.winfo'
> 		25231 Query	select presentity_uri,callid,to_tag,from_tag,event from active_watchers where updated=16 AND event='presence.winfo'

Steps to reproduce: registers two subscribers in jitsi and add them to
contact lists of each other.
The kamailio version is 3.3.2. I'm not doing anything special
configuration-wise:

loadmodule "presence.so"
modparam("presence", "db_url", "mysql://kamailio:snbF93@localhost/kamailio")
# in 3.3 the fallback2db change to subs_db_mode
modparam("presence", "subs_db_mode", 3)
modparam("presence", "notifier_processes", 3)


loadmodule "presence_xml.so"
modparam("presence_xml", "db_url",
"mysql://kamailio:snbF93@localhost/kamailio")
modparam("presence_xml", "force_active", 0)
modparam("presence_xml", "integrated_xcap_server", 1)
# retry-after 5 minutes
modparam("presence_xml", "xcapauth_userdel_reason",
"probation;retry-after=300")

Q: it is a bug of a feature? :)
Thanks.
Andrew

_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

-- 
Peter Dunkley
Technical Director
Crocodile RCS Ltd