[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: >1024 connections in slapd / select->poll
Kurt D. Zeilenga wrote:
At 05:18 AM 11/14/2004, Volker Lendecke wrote:
In http://www.openldap.org/faq/index.cgi?file=1126 you mention a workaround for
the problem that slapd does not allow more than about 1000 concurrent client
connections. Recompiling glibc is not an option for me,
Note that recompiling glibc and/or kernel is not needed if
you are using modern versions of glibc and kernel. We've
been running with OPENLDAP_FD_SETSIZE set as high as 8192
without problem on Linux without problem (and without
touching anything other than OpenLDAP Software).
Hmmm. I just wrote a small test client which opens a large number of
connections to the LDAP server and then closes them again. (It issues an
anonymous search as well.) I encountered a server hang at around 2050
connections, stuck in the WAKE_LISTENER macro. Apparently when a large
number of connections closes in rapid succession like this the pipe
that's used for waking the listener gets full.
I note that our definition of WAKE_LISTENER has an #if case for
NO_THREADS / GNU_PTH in which case it doesn't write anything into the
pipe if a flag "waking" is already set. When I use this version on the
pthreads build, the hang at 2050 closes disappears. It seems we need
this waking test by default.
--
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support