Howard Chu wrote:
Howard Chu wrote:
Howard Chu wrote:
For reference, the peak throughput with back-null on the previous code was only 7,800 auths/sec (with 8 client threads). With this patch it's 11,140 auths/sec. In both cases the throughput declines as more client threads are used. (Compare to 35,553 auths/sec for the same machine running Linux, and no drop in throughput all the way up to hundreds/thousands of connections.)
Re-running on Linux with a non-optimized build, peaked at 40,101 auths/sec. (I guess HEAD has sped up a bit more in the past week or so...)
OK, this is odd. The code compiled without optimization peaks at 40K auths/sec at around 124-132 client threads. The code compiled with -O2 peaks at 37K sec at around 128 client threads.
The -O2 build is faster from about 4 to 24 client threads. From 28 on up, the nonoptimized code is faster at every load level. I was originally using gcc 4.1.2 but I'm seeing the same result now using gcc 4.2.2. Also, slapd is only configured with 8 worker threads in all of these tests. Strange that whatever optimizations the compiler has generated speeds things up for lighter load, but works against it under heavier load.