[PHP-users 17880]Re: 多重include(once)について

Yasuo Ohgaki yohgaki @ ohgaki.net
2003年 9月 16日 (火) 08:35:36 JST


大垣です。

Yasuo Ohgaki wrote:
> yoshiaki yazawa wrote:
> 
>>>スクリプトを読み込むだけでメモリの使用量が気になることは
>>>普通はないはずです。
>>># 例外としては、かなり大きいデータ用の配列を定義したスク
>>># リプトを作っているなど
>>
>>
>>まさにこれが該当します。
>>比較的大きめのデータ用配列を定義したスクリプトを読み込んでました。
>>配列のヒット数を調べてヒット率の高いデータのみ配列に定義し
>>残りはCSVに落として、配列に存在しないデータのみをCSVから読み込んで
>>みるようにしてみます。
>>
>>
>>
>>>>全部読み込むとapacheのメモリ使用量が1プロセスで15kを軽く超えてしまって
>>>>プロセス数の限界がかなり早くなってしまいます。
>>>
>>>15kと言うのは15MB?の間違いでしょうか?
>>
>>
>>すみません、15MBの間違いでした。
>>
> 
> 
> これからすると、大きな配列を定義したスクリプトの読み込み
> が原因のようですね。あまり知られていないかも知れませんが、
> 配列の初期化は比較的負荷が高い処理です。
> 
> 静的なデータをRDBから呼び出すのは遅いような気がするかも知
> れませんがRDBをクエリする方が早くなる場合も多いです。ファ
> イルベースのDB(db1,2,3,4やcdb)を使う方が良いかも知れません。
> 
> # これはデータ量やアクセス方法、アクセス頻度、更新頻度など
> # によって変わるのでどのケースでどうなるか、は実験してみて
> # ください。

今回のケースの場合、かなり大きな配列を読み込んでいるようなの
で効果は期待できませんが、それほど大きくない (数千要素程度)
の配列の場合、PHP Accelerator等を利用するとかなり速くなります。

--
Yasuo Ohgaki



PHP-users メーリングリストの案内