2005年4月28日

[linux-users:104889] LDAPが遅い

堀田@長崎市です。

職場(大学)で LDAP を動かしているのですが、時々激重になるので悩
んでいます。

OS:Vine Linux 3.1
カーネル:2.4.27-0vl7smp
LDAP:openldap-2.1.30-0vl1 (database ldbm)
SAMBA:samba-3.0.10-0vl1 (ldapサポートを有効にしてリビルド)
機能:Primary Domain Controller


速い場合:ldapsearch全件検索(ldifで2MB程度のデータ)で1秒程度。
遅い場合:ldapsearch一件で数秒。当然タイムアウトが頻発します。
(いずれも localhost からの検索)

PDCの機能自体は、重いことを除けば一応動いているようです。ドメイン
ログオン(+ネットワークドライブ割り当て3個)に要する時間は、混
み合っていなければ30秒程度です。

激重になった場合、以下のスクリプトを流すと速くなることがわかって
います。

# cat refresh.sh
#!/bin/bash
service winbind stop
service smb stop
service ldap stop
sleep 1
service ldap start
service smb start
service winbind start

なんとなく、一定以上のアクセスが集中した時に重くなって、その後も
解消できなくなっているるような気もするのですが、正しくは把握でき
ていません。また、重い場合でもシステムの load avarage が上がって
いるわけでもないようで、わけがわかりません。排他制御関連とか?

他のホストから問題のホストに scp したときも途中で7秒ほど止まって
いたことがあったので最初はネットワークを疑っていたのですが、上記
スクリプトを流した後はスムーズに流れるようになったので、やっぱり
認証部分で止まっていた可能性が高そうです。

現在は、上記スクリプトを朝一と昼休みに流すことでしのいでいます。

ldbm が怪しいのかと思い、別のマシン(ソフトウェア環境はほぼ同じ)
に bdb でデータベースを定義して、全データを ldapadd でバッチ投入
すると、35個程度の属性を持つユーザエントリの場合、一秒で2〜3 件
程度ずつしか追加されません。他との比較ができないのですが、こんな
に遅いものなのでしょうか?

あと、こういう情報も出したらいいとかありましたらお願いします。

# grep ^[^#] /etc/nsswitch.conf
passwd: files winbind ldap
shadow: files winbind ldap
group: files winbind ldap
hosts: files dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files winbind ldap
rpc: files
services: files winbind ldap
netgroup: files winbind ldap
publickey: nisplus
automount: files winbind ldap
aliases: files nisplus
root@xxxxx ~# crontab -e
crontab: installing new crontab

# grep ^[^#] /etc/ldap.conf
ssl no
pam_password md5
host 127.0.0.1
base dc=sun,dc=ac,dc=jp

# grep ^[^#] /etc/openldap/ldap.conf
HOST 127.0.0.1
BASE dc=sun,dc=ac,dc=jp

# grep ^[^#] /etc/openldap/slapd.conf
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/redhat/rfc822-MailMember.schema
include /etc/openldap/schema/redhat/autofs.schema
include /etc/openldap/schema/samba.schema
include /etc/openldap/schema/dhcp.schema
include /etc/openldap/schema/sun.schema
allow bind_v2
pidfile /var/run/slapd.pid
database ldbm
suffix "dc=sun,dc=ac,dc=jp"
rootdn "cn=Manager,dc=sun,dc=ac,dc=jp"
rootpw naisho
directory /var/lib/ldap
index objectClass,uid,uidNumber,gidNumber,memberUid eq
index cn,mail,surname,givenname eq,subinitial
index dhcpHWAddress,dhcpClassData eq
index sunJname,sunAttr eq,pres
sizelimit 2000
access to attr=SambaLMPassword
by dn="cn=Manager,dc=sun,dc=ac,dc=jp" write
by self read
by anonymous auth
by * none
access to attr=SambaNTPassword
by dn="cn=Manager,dc=sun,dc=ac,dc=jp" write
by self read
by anonymous auth
by * none
access to attr=userPassword
by dn="cn=Manager,dc=sun,dc=ac,dc=jp" write
by self read
by anonymous auth
by * none
access to *
by dn="cn=Manager,dc=sun,dc=ac,dc=jp" write
by self write
by * read

$ free
合計 使用済 空き領域 共有領域 バッファ キャッシュ
Mem: 2068620 1821232 247388 0 142820 1492356
-/+ バッファ: 186056 1882564
Swap: 1831912 0 1831912

$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.20GHz
stepping : 1
cpu MHz : 3200.239
cache size : 1024 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm pni monitor ds_cpl cid
bogomips : 6383.20

processor : 1
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.20GHz
stepping : 1
cpu MHz : 3200.239
cache size : 1024 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm pni monitor ds_cpl cid
bogomips : 6396.31

--
HOTTA Michihide <hotta@xxxxx>


投稿者 xml-rpc : 2005年4月28日 11:06
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/10098
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。