シナリオ
SambaマスターとしてSUSESLES 11.1SP1マシンを使用していますPDC LDAPバックエンド付き。1つの共有にクライアントサーバーアプリケーション用のデータベースファイルがあります。ログXP =およびWindows7マシンからローカルドメイン(example.local)へのログインは少し遅いですが、機能します。クライアントコンピューターには、サーバー共有からデータベースファイルを開き、読み取り、書き込みする実行可能ファイルがあります。
問題
LDAPパスワードバックエンドを使用してSambaを実行している場合、クライアントアプリケーションは非常に低速で実行され、最大転送速度は1秒あたり2500MBitです。 LDAPを無効にすると、クライアントアプリの速度が20倍になり、転送速度が50Mbit /秒を超え、スムーズに実行されます。
私は2人のユーザーと2台のマシンでテストを行っているので、同時実行性やLDAPサイズはここでは問題になりません。
容疑者
LDAP、Smb.conf [グローバル]セクションの構成。
質問
私に何ができる?私はたくさんググったが、それでも答えがない。
LDAPでsmb.confが遅い
[global]
workgroup = zmartsoft.local
passdb backend = ldapsam:ldap://127.0.0.1
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = Bad User
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
usershare allow guests = Yes
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s
/bin/false %m$
domain logons = Yes
domain master = Yes
local master = Yes
netbios name = server
os level = 65
preferred master = Yes
security = user
wins support = Yes
idmap backend = ldap:ldap://127.0.0.1
ldap admin dn = cn=Administrator,dc=zmartsoft,dc=local
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap machine suffix = ou=Machines
ldap passwd sync = Yes
ldap ssl = Off
ldap suffix = dc=zmartsoft,dc=local
ldap user suffix = ou=Users
最後に、どこでも何ヶ月も見て、この記事を読みました http://www.linuxtopia.org/online_books/network_administration_guides/samba_reference_guide/24_locking_08.html
そしてoplock値で遊び始めました。 Windowsアプリケーションは、アクセス許可を変更するたびに多くの読み取り/書き込み操作を実行し、oplockを無効にすると状況が改善し始めました。
ネームサービスキャッシュデーモン(nscd)が正しく機能しているかどうかを確認することをお勧めします。表示される速度低下は、ユーザー名-> UIDルックアップに関連している可能性があります。そのボリュームをnoatime
でマウントすると、ルックアップが頻繁に発生しなくなるため、速度が向上する可能性があります。ただし、これらの値は一定期間キャッシュする必要があります。