[Pkg-openldap-devel] Bug#378261: slapd fails under heavy load due
to descriptor limit
Chris Adams
cadams at salk.edu
Fri Jul 14 18:36:20 UTC 2006
Package: slapd
Version: 2.2.23-8
Severity: important
slapd can fail under heavy load with the following message:
Jul 14 10:12:04 economo slapd[16502]: daemon: 1024 beyond descriptor table size 1024
There are several problems here:
1) slapd uses more file descriptors than it arguably should (#159776)
2) The table size is artificially capped (servers/slapd/daemon.c lines
1026:1030) to FD_SETSIZE (1024 on current systems), well below the 8192
limit set by the ulimit command in /etc/init.d/slapd.
http://www.openldap.org/faq/data/cache/1126.html suggests that this
can be raised to 8192 using a compile flag. This patch accomplishes
that:
5a6
> CPPFLAGS=-DFD_SETSIZE=8192
32c33
< cd $(builddir) && CFLAGS="$(CFLAGS)" $(rootdir)/configure \
---
> cd $(builddir) && CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)"
> $(rootdir)/configure \
3) slapd should never accept a connection which it cannot process. This
causes visible service interruptions (there's a separate bug in
libnss-ldap/libpam-ldap which cause them to ignore defined LDAP
secondaries in this situation) and keeps the backlog stats from
accurately reflecting the number of connections slapd is unable to
handle.
-- System Information:
Debian Release: 3.1
Architecture: i386 (x86_64)
Kernel: Linux 2.6.8-12-amd64-k8-smp
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Versions of packages slapd depends on:
ii coreutils [fileutils] 5.2.1-2 The GNU core utilities
ii debconf 1.4.30.13 Debian configuration management sy
ii libc6 2.3.2.ds1-22sarge3 GNU C Library: Shared libraries an
ii libdb4.2 4.2.52-18 Berkeley v4.2 Database Libraries [
ii libiodbc2 3.52.2-3 iODBC Driver Manager
ii libldap-2.2-7 2.2.23-8 OpenLDAP libraries
ii libltdl3 1.5.6-6 A system independent dlopen wrappe
ii libperl5.8 5.8.4-8sarge4 Shared Perl library
ii libsasl2 2.1.19-1.5sarge1 Authentication abstraction library
ii libslp1 1.0.11a-2 OpenSLP libraries
ii libssl0.9.7 0.9.7e-3sarge1 SSL shared libraries
ii libwrap0 7.6.dbs-8 Wietse Venema's TCP wrappers libra
ii perl [libmime-base64- 5.8.4-8sarge4 Larry Wall's Practical Extraction
ii psmisc 21.5-1 Utilities that use the proc filesy
-- debconf information:
slapd/password_mismatch:
slapd/fix_directory: true
slapd/invalid_config: true
slapd/upgrade_slapcat_failure:
slapd/upgrade_slapadd_failure:
slapd/backend: BDB
slapd/dump_database: when needed
slapd/allow_ldap_v2: false
slapd/no_configuration: false
slapd/migrate_ldbm_to_bdb: true
slapd/move_old_database: true
slapd/suffix_change: false
slapd/slave_databases_require_updateref:
slapd/dump_database_destdir: /var/backups/slapd-VERSION
slapd/autoconf_modules: true
slapd/purge_database: false
More information about the Pkg-openldap-devel
mailing list