Drupal 7 使用Drupal 7和简单的ldap模块时,slapd使用了太多的CPU
我们配置了一个Drupal7实例,其中模块指向本地OpenLDAP(在Ubuntu12.04.4LTS服务器上) 当多个用户登录到该站点并使用它时,计算机的CPU就会失控:Drupal 7 使用Drupal 7和简单的ldap模块时,slapd使用了太多的CPU,drupal-7,openldap,Drupal 7,Openldap,我们配置了一个Drupal7实例,其中模块指向本地OpenLDAP(在Ubuntu12.04.4LTS服务器上) 当多个用户登录到该站点并使用它时,计算机的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 1
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
2月20日14:56:53 cas slapd[2029]:我们必须为此创建正确的索引
如图所示,首先停止服务:
sudo service slapd stop
sudo slapindex -F /etc/ldap/slapd.d
sudo chown -R openldap:openldap /var/lib/ldap
sudo service slapd start
sudo service apache2 restart
然后编辑/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif
并添加(就在第行olcDbIndex:objectClass eq
之后):
然后重新编制索引,设置正确的权限并重新启动服务:
sudo service slapd stop
sudo slapindex -F /etc/ldap/slapd.d
sudo chown -R openldap:openldap /var/lib/ldap
sudo service slapd start
sudo service apache2 restart
建议使用正确的用户重新编制索引:“sudo-u openldap slapindex”,这样可以避免chownAlso,注意,使用此方法必须手动调整{1}hdb.ldif中的CRC