slapd使用Drupal 7和simple_ldap模块使用太多的CPU

时间:2014-02-21 16:37:41

标签: drupal-7 openldap

我们配置了一个Drupal 7实例,其中simple_ldap模块指向本地OpenLDAP(在Ubuntu 12.04.4 LTS服务器上)。

当多个用户登录该站点并使用它时,计算机的CPU就会疯狂:slapd几乎占用了100%的CPU。

结果是Drupal网站的回答非常缓慢(每页超过15秒......)

/var/log/syslog我们可以看到:

Feb 20 14:56:53 cas slapd[2029]: <= bdb_equality_candidates: (uid) not indexed
Feb 20 14:56:53 cas slapd[2029]: <= bdb_equality_candidates: (mail) not indexed
Feb 20 14:56:53 cas slapd[2029]: <= bdb_equality_candidates: (member) not indexed
Feb 20 14:56:53 cas slapd[2029]: <= bdb_equality_candidates: (cn) not indexed

发生了什么事?

1 个答案:

答案 0 :(得分:2)

我们必须为此创建正确的索引。

作为said here,首先停止服务:

sudo service slapd stop

然后修改/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif并添加(在olcDbIndex: objectClass eq行后面):

...
olcDbIndex: uid eq
olcDbIndex: member eq
olcDbIndex: mail eq
olcDbIndex: cn eq
...

然后重新编制索引,设置正确的权限并重新启动服务:

sudo slapindex -F /etc/ldap/slapd.d
sudo chown -R openldap:openldap /var/lib/ldap
sudo service slapd start
sudo service apache2 restart