過去の桐井戸端BBS (桐ver.8)
18310 ネットワークで桐を使うときのoplockの設定について 野良犬 2002/12/22-22:40
 みなさんこんばんは。
最近、環境を変えたのでそのときの報告を少しばかりしたいと思います。
なにかの参考になれば幸いです。

今までは100base-TXでWin98機によるピアツーピアのネットワークを組んで運用していました。
桐のバージョンは8sp6です。
 ファイルサーバーには、古いが安定しているPCを選択していました。
CPU K6-233MHz 128MB RAM で、ネットワークドライブの速度は、3MB/s 程度。
これを今回、Pen!!!700MHzのノートPCに変更しました。
OSにLinux、NICはOnBoardのSiS900。
そうしたところ、ネットワークドライブの速度は、100BASE-TXのほぼ限界にあたる、
8MB/sでるようになり、クライアントにPen4の機種を入れたことにより
処理速度が劇的に向上しました。15分かかった処理が2分!

 ところが、問題が起きました。
時々異常に遅くなることがある。
さらにひどいことに頻繁にフリーズするようになりました。
 この原因についてしらべたところ、Win9xでは、
oplockという機能の対応に一部不具合があることがわかりました。
oplockが標準で有効になっている比較的新しいSambaやWindowsNTなどを
ファイルサーバにしたときに不具合がでるようです。
oplockを無効にしたところ、先の処理時間は3分にのびましたが、
無事に安定動作するようになりました。

同様に、SambaあるいはWindowsNT等をファイルサーバーにしていて、
頻繁にフリーズするなどの症状がある場合、oplockを無効にしてみてください。

18312 Re:ネットワークで桐 hidetake 2002/12/23-01:07
記事番号18310へのコメント
野良犬さん,こんばんわ。

> oplockが標準で有効になっている比較的新しいSambaやWindowsNTなどを
> ファイルサーバにしたときに不具合がでるようです。
> oplockを無効にしたところ、先の処理時間は3分にのびましたが、無事に
> 安定動作するようになりました。

私はこの問題が生じていないのですが Samba を使っている関係で調べてみました。

どうやら次のような問題のようですね?


[NT]共有ファイルがオープンできなくなる
http://support.microsoft.com/default.aspx?scid=kb;ja;JP414348

File-Cacheing.txt
http://www.samba.gr.jp/project/translation/2.0.7/tech/File-Cacheing.txt
http://aji.edd.osaka-sandai.ac.jp/doc/samba-2.0.7_ja_1.3/docs/NT4-Locking.txt


この問題を解決するには,上の資料のようにサーバ側の oplocks を無効にするか,
あるいは Windows9x 側のリダイレクタの設定で oplocks を禁止する方法もあるようですが,
どうやら VREDIR.VXD のバグのようですので,VREDIR.VXD を差し替えて使う方法もあるようです。

Locking Error or Computer Hangs Accessing Network Database Files
http://support.microsoft.com/default.aspx?scid=kb;EN-US;142803

あと,もっと新しい VREDIR.VXD も出ているようです。
http://support.microsoft.com/default.aspx?scid=kb;ja;JP283261

この辺の VREDIR.VXD 差し替えで,スピードも確保したまま問題解決ができれば良いのでしょうけど?

18331 Re:ネットワークで桐 野良犬 2002/12/25-23:05
記事番号18312へのコメント
こんにちは、追加情報ありがとうございます。

>この辺の VREDIR.VXD 差し替えで,スピードも確保したまま問題解決ができれば
>良いのでしょうけど?

どうも、問題が起きているPCのVREDIR.VXD も同じバージョンのような気が...
全部は確認していないですが。
 さて、Sambaのほうでも、この問題を回避するためのオプションがあるようです。
   oplock break wait time

どちらにしろ、私のところでは、oplockを無効にした状態で支障がないのでそのまま運用しようと思います。


18332 Re:ネットワークで桐 hidetake 2002/12/26-00:42
記事番号18331へのコメント
>どうも、問題が起きているPCのVREDIR.VXD も同じバージョンのような気が...
>全部は確認していないですが。
> さて、Sambaのほうでも、この問題を回避するためのオプションがあるようです。
>   oplock break wait time

どうも,その後調べてみると Samba の方で問題になっている
ロックの問題 (主に oplocks 関係) と,
Windows で出ているロックの問題 (VREDIR.VXD を原因とする) と,
原因が異なるような気がしてきました。

Samba で出てくるロックの問題って,一筋縄ではいかないようだし,
Windows系をサーバとしたロックの問題はそれ程多くの場面で出てこないようですし?

私が VREDIR.VXD の関係か?と至ったのは下記の内容からです。

[Delphi:46324] Re: PARADOX 形式のデータが消えてしまう
http://www.users.gr.jp/ml/archive/delphi/46324.asp


それと私も Samba は 1998年から弄りだしているけど,
スピードの問題とか,良くわからない?
と言うか,スピードを確実に出す方法って難しいですね!
問題ないところ(環境?)では簡単に出るし,
問題があるところでは,同じドライバを使いながら
ちょっと型番の違う NIC に変えると全くスピードが出なくなったりで・・・
未だに良くわからないところがあります。 (;_;)


あと,oplock の関係で言えば,Windows9x系と Windows2000系で,
明らかに動作が違うようですね!

このロックの様子は Samba だと SWAT からでも簡単に確認できますが
(Windowsだと「コンピュータの管理」),
Windows2000系は,ファイルをクローズした場合,約5秒程度で oplock が外れますが,
Windows9x系だと他アプリがそのネットワークドライブをアクセスして
他のアクセスが発生したり,あるいは,
他の PCからのアクセスがあって oplock を外してくれって言うような
要求が発生しないと,9x ではいつまで経ってもファイルを解放してくれないようです。

例えば,桐の場合だとファイルパレットやファイルを開くダイアログでも,
ファイルを開いて,その内部にある「表題」や「時間」やバージョン情報などを取得するわけですが,
そのまま桐を終了させても,そのパソコンはいつまでもそれらのネットワークファイルを
oplock して解放しないようです。
もちろん,他からのアクセスや,自分でも他のアプリなどでそのネットワークドライブにアクセスが発生すると,
ロックは解放されますが・・・
その点,Windows2000 (XP) だと数秒で解放してくれるので,
なんだか気持ちが良いというか,安心と言うような感じです?

Windows9x系でも,これだけで問題が生ずるとは考えられませんが
ネットワークが安定していないとか,タイミングの関係では問題が
生じやすいのかも知れませんね?

今回の件を契機に,なかなか勉強になりました。


蛇足?
野良犬さんって,IMP日本語版の掲示板関係で出てこられる野良犬さんと
同一人物なのかな?なんて気になっていました。 (^_^ゞ
私も IMP日本語版は使っていたりします。


18336 Re:ネットワークで桐 野良犬 2002/12/26-20:44
記事番号18332へのコメント
こんばんは。

>Samba で出てくるロックの問題って,一筋縄ではいかないよう
>だし,Windows系をサーバとしたロックの問題はそれ程多くの
>場面で出てこないようですし?

結局そういうことですよね。周辺機器とドライバ、アプリケーションなども
Windowsしか想定していないし、動作確認もその範囲なわけで。標準的なもの以外を
使おうとするとどうしてもそのようなケースはでてしまいますね。

>[Delphi:46324] Re: PARADOX 形式のデータが消えてしまう
>http://www.users.gr.jp/ml/archive/delphi/46324.asp
この問題は、BDEとPARADOXの仕様上の問題でoplockにまつわるトラブルとは異質のものだと思います。

私の環境では、運良くSambaで速度がでない、という問題には出くわしていません。

>あと,oplock の関係で言えば,Windows9x系と Windows2000系
>で,明らかに動作が違うようですね!
この件、勉強になりました。Win2kは試す環境が今手元にないので9xだけしかみてませんが
確かに、ずっと掴んだままでしたね。
・クライアントAがoplockを取得(使用後も掴んだまま)
・クライアントBから要求がある。
・samba が oplock break をクライアントAに発行
・クライアントA、フリーズして応答なし
この場合どうなるんだろう?とか考えてしまいます。oplockに限らず、通常のlockにしても同様なんですが。
 目立って問題が起きていないので、たぶんうまく回避する仕組みがあるんでしょうね。


>野良犬さんって,IMP日本語版の掲示板関係で出てこられる野良犬
>さんと同一人物なのかな?なんて気になっていました。 (^_^ゞ
同一人物です。世間って広いようで狭いですね。
18340 Re:ネットワークで桐 hidetake 2002/12/27-10:59
記事番号18336へのコメント
>同一人物です。

そうでしたか! たのもしいです。 (^_^)


>[Delphi:46324] Re: PARADOX 形式のデータが消えてしまう

これに関しては PARADOX の問題よりも [関連資料] で出てくる
VREDIR.VXD の問題や NT の OpLock を OFF の関係から Windowsにおける
OpLock の問題の参考となりました。後に MS のサイトへ至るヒントに・・・


あと OpLock に関しては,クライアント OS にもよるようですが
アプリケーションによってもいろいろ有るようです。

他のアプリの場合は,桐と違い同時に多くのファイルを開いたりする場面は少ないと思いますが,
桐の場合は,全てのファイルが独立して存在しているわけですし,
それらのファイルを開け閉めしては使っていたり,ファイルパレットや開くダイアログでさへ
ファイルを開いて処理しています。
(ファイルパレットの場合は5個単位の処理かな?)
そう言う意味で,もし OpLock の関係でバグなり不安定さが有るのなら,
他のアプリに較べてその影響を非常に受けやすいと感じました。


最後にアプリによっての動作の違いです。

アプリがこの辺をどう制御できるのか?しようとしているのか?
良くわかりませんが(多少は考慮しているとも見受けられる?),
もし,アプリから制御できるのなら,影響をできるだけ受けないような仕組みにする事も必要なのかな? (桐も?)

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Windows98  開いてそのまま終了 / 開いて保存して終了
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Word98  :専有+バッチ->クローズ / 専有+バッチ->クローズ
Excel97  :専有+バッチ->クローズ / 専有+バッチ->開きっぱなし
一太郎10 :専有+バッチ〜>なし->クローズ
                  / 専有+バッチ〜>なし->専有+バッチ->開きっぱなし
WZ(排他有):専有+バッチ->開きっぱなし / 専有+バッチ->クローズ
秀丸(排他有):専有+バッチ->開きっぱなし / 専有+バッチ->開きっぱなし

Access2.0:専有+バッチ->クローズ / 専有+バッチ->クローズ
Access97:専有+バッチ->開きっぱなし / 専有+バッチ->クローズ


−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
WinodwsXP  開いてそのまま終了 / 開いて保存して終了
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Word2000 :(専有+バッチ〜>?)なし->クローズ
                  / (専有+バッチ〜>?)なし->専有+バッチ->クローズ
Excel2000 :専有+バッチ〜>なし->クローズ
                  / 専有+バッチ〜>なし->専有+バッチ->開きっぱな
し->その後,OSもしくはExcelの終了によりクローズ
一太郎11 :専有+バッチ〜>なし->クローズ / 専有+バッチ〜>なし->専有+バッチ->クローズ
WZ(排他有):専有+バッチ->開きっぱなし->その後,OSによりクローズ
                  / 専有+バッチ->開きっぱなし->その後,OSにより
クローズ
秀丸(排他有):専有+バッチ->開きっぱなし->その後,OSによりクローズ
                  / 専有+バッチ->開きっぱなし->その後,OSにより
クローズ

Access2000:専有+バッチ->クローズ / 専有+バッチ->クローズ



戻る