[PHP-users 10237] Re: FDの制限によりアクセスできなくなる

Yukio.Umezawa php-users@php.gr.jp
Thu, 19 Sep 2002 10:25:38 +0900


質問をしました、梅澤です。


> 濱井です。
> 2002/09/19 09:58:35 +0900にume@ctc-g.co.jpさんが送られた
> メールに関する返信です。
> 
> >> PHP 以外の普通のプロセスからは 256 個以上のファイルをオープンできますか?
> >> Solaris は良く知らないんであれですが、1プロセスあたりの最大 FD の制限に
> >> ひっかかってるのかもしれません(そういう制限を行うことが可能かどうかはわ
> >> かりませんが)。
> >
> >
> >PHPを使わずに単純にHTMLのAタグなどでテストしてみると
> >ちゃんと256以上いけてしまいます。
> 
> HTMLのa要素で指定しても、ファイルをオープンしっぱなしにできないので、
> テストにならないのでは?


iPlanetのファイルキャッシュの設定をONにしておきますと、
違うファイルを開くたびにFDの値は一個づつ増えていきます。
そして、FDはそのまま開放されずにたまっていきます。
これはメーカに確認したところiPlanetの仕様だそうで、
プロセスを再起動しない限りは開放されませんでした。
ファイルキャッシュをONにすることにより、FDのオープン/クローズ
にかかるオーバーヘッドをなくしパフォーマンスをあげるため
だそうです。

最初はこのことが問題となり、解決のためOS(iPlanet)のFD値を増加
させたのですが、結局256に達すると同じ現象が出てしまうので、
PHPにも原因はないか?と探っているところであります。

もちろん、ファイルキャッシュをOFFにしておきますとファイルを
オープンしてもすぐにFDは開放されてしまうのでFDの数は溜まって
いきません。よって、今回の問題も起こらなくなります。最終的な
解決策としてはこれ(キャッシュOFF)で妥協をするしかないかもしれ
ないのですが・・。


☆★☆★☆★☆★☆★☆★☆★☆★
伊藤忠テクノサイエンス

梅澤 幸生 <ume@ctc-g.co.jp>
☆★☆★☆★☆★☆★☆★☆★☆★