我们配置了一个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
发生了什么事?
答案 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