Particular / NServiceBus

Build, version, and monitor better microservices with the most powerful service platform for .NET
https://particular.net/nservicebus/
Other
2.07k stars 650 forks source link

Add support for auto tuning of the number of worker threads #748

Closed andreasohlund closed 9 years ago

andreasohlund commented 11 years ago

Given that we now can monitor throughput and change worker threads dynamically there is a possibility to auto-tune the number of threads. This takes the burden of the user who needs to do this manually to find the optimum number for each specific endpoint.

chrisbednarski commented 11 years ago

Will auto-tune take into account multiple endpoints running on a single host? Will the operators be able to assign max percentage of CPU time to different endpoints hosted on a single box (similar to cpu rate control)

Will there be a configuration option to specify the maximum number of workers for a given endpoint?

andreasohlund commented 11 years ago

The original plan is to only use the max number of worker threads as the limit but cpu limits are also interesting. We'll make this pluggable to allow users to create their own strategies

On Sat, Nov 17, 2012 at 2:24 AM, chrisbednarski notifications@github.comwrote:

Will auto-tune take into account multiple endpoints running on a single host? Will the operators be able to assign max percentage of CPU time to different endpoints hosted on a single box (similar to cpu rate controlhttp://msdn.microsoft.com/en-us/library/windows/desktop/hh448384.aspx )

Will there be a configuration option to specify the maximum number of workers for a given endpoint?

— Reply to this email directly or view it on GitHubhttps://github.com/NServiceBus/NServiceBus/issues/748#issuecomment-10471546.

http://andreasohlund.net http://twitter.com/andreasohlund

SimonCropp commented 9 years ago

@andreasohlund so 2 years later... shall we leave this open? perhaps triage?

andreasohlund commented 9 years ago

this is mine and @johnsimons pet feature:) I seems we'll revisit this when we do the pipeline extension into the transports change. Lets leave open for now

johnsimons commented 9 years ago

@SzymonPobiega with the changes you have done to the threading, what's your thoughts on this?

SzymonPobiega commented 9 years ago

Already implemented in extending pipeline branch. Also, implemented (in a slightly different way) in upcoming NSB.SQL 2.1

johnsimons commented 9 years ago

That is what I thought @SzymonPobiega. Closing as already implemented