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

Masaaki Suga suga @ tenrikyo.or.jp
2007年 7月 17日 (火) 10:13:32 JST


自己レスです

Masaaki Suga <suga @ tenrikyo.or.jp> wrote:

> 
> レスポンスが異常に遅いのです
> 
> (SQL1)
> select a1 from aaa where a1='001'
> 
> ※ テーブルaaaのフィールドがa1,a2,a3あって
>    a1がプライマリキーとする
> 
> SQL1は瞬間に結果が返ってきます
>> 
> (SQL2)
> select a1 from aaa
> 
> 全体の件数は,2000件ぐらい
> 
> SQL2を実行すると,レスポンスが帰ってこない
> (帰ってこないというか,ブラウザがタイムアウトになる感じです)
> 
> 同じSQL2をtsqlコマンドで実行すれば,問題なく瞬時に返って来ます
> 
> サーバーは:solaris9(sparc)
> php5.0.5です
> 
> また,phpからのSQL発行は
> mssql_xxxxxx関数を使っています(ODBC関数ではなく)

apacheのerror_logに

FATAL:  erealloc():  Unable to allocate 2917888 bytes

と出ています

cgiモードでなくcliモードで実行して
別のtelnetでvmstatで見てみると確かに
memoryのfreeがだんだん減っていっています

freetds.iniしか設定していませんが
odbc.iniなども設定が必要なのでしょうか?

ただ,実際にSQLは実行しているので設定は問題ないような気もしますが・・・


-------------------------------
須賀正明:suga @ tenrikyo.or.jp
-------------------------------



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