FreeRADIUS Thread Behaviour

Alan DeKok aland at deployingradius.com
Tue Oct 17 13:42:37 CEST 2017


On Oct 16, 2017, at 9:30 PM, Arran Cudbard-Bell <a.cudbardb at freeradius.org> wrote:
> That's simply not how the rlm_ldap module and the threading code interact.  It will be in v4.0.x because we'll be binding (very tightly) LDAP connections to worker threads, but it is not how the code works in v3.0.x, v2.0.x or v1.0.x.

  True.  In v3, the LDAP connection pool is independent of the thread pool. (modulo similar config / shared limits)

> What you're seeing is threads being killed because the load on the server does not require that number of threads. i.e. The server is self-pruning threads to free up resources.
> 
> If there's an uptick in load, new threads will be created, and new connections may be created to service those threads.

  The underlying issue is that scheduling is hard.  The server takes periodic snapshots of load.  It doesn't take averages over time.

  The result is that watching the server's high-level load doesn't help you understand it's microscopic behaviour.

  Explaining that is sometimes difficult.

  Alan DeKok.




More information about the Freeradius-Users mailing list