Hello everybody, This is my first message to the list, so I hope don''t make recurring questions. My question concerns the performance of directory server, I have a directory with a large number of entries, ~ 20,000 objects. My question is: When I receive a too large query, the directory will be suspended until they answer this query. I could see that there are options to determine the threads that will use the directory (nsslapd-threadnumber), persistent searches and apply administrative limits to the queries. I am evaluating what changes to implement but I have several doubts. When I run the directory, I get a single process (ns-slapd) which is consuming 100% CPU when doing too long queries, if we have a multi-thread support, should appear multiple processes or Directory threads (ns-slapd)? Recommendations that could be followed in a case like this? Thanks and best regards,
----- "Julio Gómez Belmonte" <julio@openinside.es> wrote:> Hello everybody, > > This is my first message to the list, so I hope don''t make recurring > questions. > > My question concerns the performance of directory server, I have a > directory with a large number of entries, ~ 20,000 objects. My > question is: When I receive a too large query,Can you be more specific about what you mean by "too large query"?> the directory will be > suspended until they answer this queryWhat is your platform? What version of directory server? How do you know the directory server is suspended?> I could see that there are > options to determine the threads that will use the directory > (nsslapd-threadnumber), persistent searches and apply administrative > limits to the queries.Did you change any of these settings from the defaults?> I am evaluating what changes to implement but I > have several doubts. When I run the directory, I get a single process > (ns-slapd) which is consuming 100% CPU when doing too long queries,More details please - search base, scope, filter - how many entries match the query - what user are you running as - have you changed any of the default administrative limits, database caching options, etc. etc.> if > we have a multi-thread support, should appear multiple processes or > Directory threads (ns-slapd)?single process with multiple threads> Recommendations that could be followed > in a case like this? > > Thanks and best regards, > > -- > 389 users mailing list > 389-users@redhat.com > https://www.redhat.com/mailman/listinfo/fedora-directory-users
>>> On Mon, 15 Jun 2009 10:34:23 +0100 (GMT+01:00), Julio Gómez >>> Belmonte <julio@openinside.es> said:> a directory with a large number of entries, ~ 20,000 > objects.That is a directory of a very small size. ''grep'' of a 20,000 LDIF text file takes very little time.> My question is: When I receive a too large query, the > directory will be suspended until they answer this query.That depends on how it is configured. And it is hard for me to imagine a realistic query over 20,000 records that takes a significant amount of time.> [ ... ] When I run the directory, I get a single process > (ns-slapd) which is consuming 100% CPU when doing too long > queries, [ ... ]At a site I am familiar with the FDS ''slapd'' *always* consumes 100% CPU time (RHEL 4), even if the queries are very simple lookup (''passwd'' emulation) and there are only a few queries per second. I suspect a bug in ''slapd'', and I looked briefly into it and it seemed to me either a busy-lock bug or a a case where the DB indices get corrupted.