On 10 May 2019, at 11:10, Bogdan-Andrei Iancu wrote: > Hi Dan, > > Thanks for the contributions, I will review > https://github.com/OpenSIPS/opensips/commit/04175e5728b3ab2586502627f54aaab2db440999 > > And the docs you are looking for is > https://www.opensips.org/Documentation/Script-CoreParameters-3-0, right ?
My question was about where are the sources for the docs, as in I tried to add the note about the precedence of the options, but I could not find the docs in the git repository to modify them. I only see the modules documentation in the git source. > > The "inconsistency" you mentioned has deeper roots and comes from how UDP and > TCP are actually implemented in OpenSIPS (like for UDP each interface has its > own set of processes, while for TCP there is only one shared pool of procs). > The auto-scaling simply followed that. > > Best regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > OpenSIPS Summit 2019 > https://www.opensips.org/events/Summit-2019Amsterdam/ > > On 04/30/2019 01:00 PM, Dan Pascu wrote: >> On 26 Apr 2019, at 12:00, Bogdan-Andrei Iancu wrote: >> >>> Well, at the time I developed the feature, that was the feeling in do it - >>> probably the idea of the difference between UDP and TCP is too deep in my >>> brain. >>> >>> On the other hand, it make sense what you also say. If you open a bug >>> report for this, we might be able to pack it as fix for 3.0. >> I pushed a small fix that allows one to specify an auto scaling profile with >> udp_workers. Someone more knowledgeable with the code should double check >> it, just in case I missed something. >> >> It works by defining a global udp scaling profile and uses that if the >> listener interface didn't define any (i.e. it acts as a fallback: >> >> if listener_scaling_defined: >> use_listener_scaler >> elif global_scaling_defined: >> use_global_scaler >> else: >> use_none >> >> This means that if both listen and udp_workers define a scaling profile, the >> one defined in listen will take precedence. >> >> Someone should update the documentation with this detail (btw, where is the >> documentation for the global script parameters? I checked the source tree >> and could not find it) >> >> As a note, there is some inconsistency in the behavior compared to tcp. With >> tcp, since it can only define the scaling profile with tcp_workers, that >> profile is global and is applied to all listening interfaces. So if one has >> multiple listeners for tcp, all will share the same single pool of workers. >> With udp though, because it checks it per listener and it falls back to the >> global one if undefined, there will be a worker pool per listener interface, >> even if the listener doesn't define it's own scaling profile. So because of >> the implementation details, udp will have as many worker pools as udp >> listening interfaces are defined. >> >> In an ideal scenario, the scaling defined globally with udp_workers and >> tcp_workers should only create one worker pool shared by all interfaces that >> don't define their own, and only interfaces that explicitly define a scaling >> profile should have their own separate worker pool. However the changes >> required to do this are not trivial and seem to require a major refactoring >> of the code so I left them out for now. Maybe in a future update someone >> more knowledgeable could reorganize the code to achieve this and also allow >> defining a scaling profile with tcp listeners. >> >>> On 04/25/2019 08:31 PM, Dan Pascu wrote: >>>> On 25 Apr 2019, at 19:32, Bogdan-Andrei Iancu wrote: >>>> >>>>> Dan, >>>>> >>>>> It seems to be a documentation error. The udp_workers param do not >>>>> support the "use_auto_scaling" option, as for UDP you can define the >>>>> profile per listener. I will fix the doc. >>>> It would make sense to be able to specify them in a similar manner. Either >>>> through xxx_worker or listen or both. >>>> I'd like to keep my configuration organized. Right now I can only specify >>>> it through tcp_workers for tcp and listen for udp. Why is there this >>>> limitation that udp_workers doesn't accept the syntax and listen only >>>> accepts it for udp? >>>> >> -- >> Dan >> >> >> >> > -- Dan _______________________________________________ Devel mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/devel
