[SR-Users] EVAPI workload allocation across processes

Alex Balashov abalashov at evaristesys.com
Sun Jan 2 03:53:39 CET 2022


Given several EVAPI worker processes:

   modparam("evapi", "workers", 4)

   # kamcmd -s /run/kamailio/kamailio_ctl ps | fgrep -i evapi
   539257	EvAPI Dispatcher
   539258	EvAPI Worker
   539259	EvAPI Worker
   539260	EvAPI Worker
   539261	EvAPI Worker

How should one understand the way that the EVAPI workload is allocated among them?

My best guess is that the EvAPI dispatcher process is the sole accept()or of client connections and the place where all relaying to client connections is done, regardless of their number, and that the ‘workers’ represent an async pool of processes in which TM transactions can be resumed or other work can be done when an outside caller sends a message to the dispatcher.

However, the documentation[1] is a little vague on the meaning of the ‘workers’ modparam:

   "Number of worker processes to be started to handle incoming messages from remote applications.”

Or maybe it’s not. Just wanted to confirm that my understanding is correct.


— Alex

[1] https://kamailio.org/docs/modules/5.5.x/modules/evapi.html#evapi.p.workers

Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/

More information about the sr-users mailing list