[PHP-users 32479] Re: php+unixODBC+freetds+MSSQL でレスポンスが遅い

kenrouse @ gmail.com kenrouse @ gmail.com
2007年 7月 23日 (月) 15:12:10 JST


まるやまです。

誰もレスしていないようなので。。。

> apacheのerror_logに
>
> FATAL:  erealloc():  Unable to allocate 2917888 bytes
>
> と出ています

単純に、メモリの確保に失敗しているようです。
応答件数が2000件あるので、それなりにメモリが必要なのでしょう。

> cgiモードでなくcliモードで実行して
> 別のtelnetでvmstatで見てみると確かに
> memoryのfreeがだんだん減っていっています
>
> freetds.iniしか設定していませんが
> odbc.iniなども設定が必要なのでしょうか?
>
> ただ,実際にSQLは実行しているので設定は問題ないような気もしますが・・・

php.ini の、memory_limit はチェックしてみましたか?
たとえば、私の環境(WinXP + XAMPP 1.6.2) では、32MBとなっていますが、
一部の Linux の標準設定では、8MBなどとなっており、
かなり少ない容量で制限されていることがあります。


php.ini (抜粋)
--------------------------------------------
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 60     ; Maximum execution time of each script, in seconds
max_input_time = 60	; Maximum amount of time each script may spend
parsing request data
memory_limit = 32M      ; Maximum amount of memory a script may consume (16MB)
--------------------------------------------


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