[OpenSER-Devel] Request for comment: multiple timer processes

Henning Westerholt henning.westerholt at 1und1.de
Mon Jul 30 19:19:40 CEST 2007


Hello all,

in the current core is only one timer process responsible to process the 
timers of all UDP and TCP children. This leads to performance problems if the 
server is under high load. An additional effect is that servers with multiple 
CPUs or Cores are sometimes not optimally utilized.

The use of multiple timer processes could provide a solution to this problems. 
This setting could be made configurable like for example the UDP children 
setting. Per default only one timer process would be started. Necessary 
changes (just a draft):

- add new parameter in config file parser
- change timer process fork for in main.c
- extend process table in pt.h
- extend timer.c to schedule request round-robin over all available workers

There is no code implementing this change yet, as i would first like to hear 
your input on this approach. 

Any comments on this enchancements? Sound this reasonable?

Thank you,

Henning



More information about the Devel mailing list