Dan Melomedman wrote:
> This should work very well for usual server loads where most people have
> authenticated themselves and most data is sitting in cache. But if the
> LDAP server replica is running on the local machine to avoid network I/O,
> this cache could be rendered useless since LDAP servers maintain their own
Local "in-process" cache is never useless :) It's just a different level
of caching (just like bigger L2 CPU cache doesn't make L1 cache useless).
> Also, even if the LDAP server is not local to the state-threaded
> server, what happens when hundreds or even thousands of LDAP queries are
> needed when they're not in cache? Preforking too many processes would
> IMHO create too much kernel overhead, while having those processes in
> deficit would create delays.
I had in mind about 10 processes or so. If a LDAP query takes 20 ms,
you'll be able to handle 500 queries per second.
> Also, what would be an efficient model for disk I/O helpers?
The Flash web server used disk I/O helpers for disk-bound workloads
<http://www.cs.rice.edu/~vivek/flash99/>. I think the source code is
available free of charge for non-commerial use.