What's interesting is that we only see about 19% CPU usage on slapd
(13% user, 6% kernel), even though there are 32 virtual processors
here and 16 worker threads (LWPs) and the database is 100% cached in
RAM. Clearly slapd isn't making as good a use of the available CPUs as
it could; if it were keeping the threads busy we should see right
about 50% CPU usage.
With the lightweight dispatcher and multi-conn array code, we see CPU
utilization go up to 45% (20% user, 25% kernel) and throughput goes up
to about 8800 authentications per second. With the lightweight
dispatcher and the new code with no connections_mutex we get about
8900 authentications per second, and CPU use is at 49% (23% user, 26%
kernel).