Date: Wed, 27 Apr 2005 19:13:52 +0100 From: Gavin Atkinson <gavin.atkinson@ury.york.ac.uk> To: Oliver Brandmueller <ob@e-Gitt.NET> Cc: freebsd-stable@freebsd.org Subject: Re: nss_ldap / top startup Message-ID: <1114625632.21968.34.camel@buffy.york.ac.uk> In-Reply-To: <20050425105919.GA95908@e-Gitt.NET> References: <20050425105919.GA95908@e-Gitt.NET>
next in thread | previous in thread | raw e-mail | index | archive | help
--=-WnKkZdAEcQaOG0EkddGZ Content-Type: text/plain Content-Transfer-Encoding: 7bit On Mon, 2005-04-25 at 12:59 +0200, Oliver Brandmueller wrote: > Hi, > > I have some servers running running on 5.4-STABLE as of Apr 5th. I use > nss_ldap for a userbase of currently about 24000 accounts (will be > growing to approx 60000 in the next weeks). I don't use pam_ldap > currently, because users only need to login by IMAP, POP, SMTP and FTP, > for all of these services daemons are used which natively auth against > the LDAP server. > > The more accounts there are in the LDAP directory, the longer the > startup of "top" takes. With the current userbase top takes about 3-4 > seconds to start (on a mostly idle Dual Xeon 2.8GHz with fast disks and > local slapd). FWIW, I don't think this is related to LDAP as such. I have a machine bound to NIS with ~19000 entries in the passwd file. Top takes ages to start up. The problem is in machine.c - it iterates over every user in the passwd file to figure out what how many characters longest username may be. It's nasty and to be honest I think it can/should just be removed. Try the attached patch just to prove that this is the cause in your case too. A while back, there was talk of a FreeBSD libc name cache daemon, but I can't seem to find any reference to it now (I seem to remember the website was within .ru, if it helps anyone find it) - though I'm not sure it would help in this context or even if it's really the correct way to mask the bug. Gavin --=-WnKkZdAEcQaOG0EkddGZ Content-Disposition: attachment; filename=top-machine.diff Content-Type: text/x-patch; name=top-machine.diff; charset=us-ascii Content-Transfer-Encoding: base64 SW5kZXg6IHNyYy91c3IuYmluL3RvcC9tYWNoaW5lLmMNCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAv dXNyL2N2cy9zcmMvdXNyLmJpbi90b3AvbWFjaGluZS5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24g MS42OA0KZGlmZiAtdSAtcjEuNjggbWFjaGluZS5jDQotLS0gc3JjL3Vzci5iaW4vdG9wL21hY2hp bmUuYwkxNiBBdWcgMjAwNCAwNzo1MToyMiAtMDAwMAkxLjY4DQorKysgc3JjL3Vzci5iaW4vdG9w L21hY2hpbmUuYwkyNyBBcHIgMjAwNSAxODowMzowOSAtMDAwMA0KQEAgLTIyOCwxMCArMjI4LDEz IEBADQogCSAgICBtb2RlbGVuICE9IHNpemVvZihzbXBtb2RlKSkNCiAJCXNtcG1vZGUgPSAwOw0K IA0KKyNpZiAwDQogCXdoaWxlICgocHcgPSBnZXRwd2VudCgpKSAhPSBOVUxMKSB7DQogCQlpZiAo c3RybGVuKHB3LT5wd19uYW1lKSA+IG5hbWVsZW5ndGgpDQogCQkJbmFtZWxlbmd0aCA9IHN0cmxl bihwdy0+cHdfbmFtZSk7DQogCX0NCisjZW5kaWYNCisJbmFtZWxlbmd0aCA9IDg7DQogCWlmIChu YW1lbGVuZ3RoIDwgOCkNCiAJCW5hbWVsZW5ndGggPSA4Ow0KIAlpZiAoc21wbW9kZSAmJiBuYW1l bGVuZ3RoID4gMTMpDQo= --=-WnKkZdAEcQaOG0EkddGZ--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1114625632.21968.34.camel>