Hello,
While troubleshooting a system I came upon a case of 'hung
children' and duplicate requests.
I would usually ascribe this to a database issue but in this
case the database is mostly unused and properly indexed.
Accounting is not used, so that's one less thing to consider.
On the other hand the max_servers setting had been set as
high as 192 by someone with good intentions.
Tuning it down to 64 seemed to significantly reduce the load
on the system and the number of hung children was reduced by a
factor of about 100.
While there remains an issue with some (intermittent) slow
ntlm_auth to take care of, I wondered how others tune the value
of max_servers other than by trial and error. Most of the time
the default of 32 has been enough for me. Higher is not
necessarily better in my experience since at least in this case
it seems to have led to the main thread working harder when
under load (with most of the work done in the "system" space).
This is a system running 2.2.5 on RHEL 6.4 in VmWare. It's
got 24Gb of RAM and 16 cores so it should still be pretty
capable.
Does anyone have an algorithm, rule of thumb or other
ballpark way of estimating the "ideal" maximum number of
threads?
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html