[pgsql-jp: 29316] Re: パフォーマンス向上策

Tsukasa Koizumi tsukasa @ koiz.com
2003年 3月 9日 (日) 05:56:04 JST


小泉@コイズコムデジタルワークスです。

<3E6A509A.10308 @ hdt.co.jp> の、
   "[pgsql-jp: 29315] Re: パフォーマンス向上策" において、
   "Takeshi Miyakawa <tak @ hdt.co.jp>"さんは書きました:

> # お互い、こんな時間に仕事してるわけですか...

まったく(悲)。


>  どうもよくわからないのですが、うちではもっと非力なマシンで2万人
> ばかりの顧客情報をOracle 8で処理しています。PostgreSQLより劇的
> に速いということはないと思っているのですが、パフォーマンスが問題
> になったことはありません(それ以前にPentium 100 MHz、デュアルプ
> ロセッサ、RAM 48MBという、信じられないようなスペックのサーバで
> Oracle 7を長年使っていたので、そのギャップから、過剰に快適だと
> 信じているのかも知れませんが)。

これも人から聞いた話なので、実感ではないのですが、Oracleはすごく速いと
聞いてます。あくまで噂でしかありませんが…。


>  うーん...
>  JDBCがネイティヴ接続より速いなんてことはないと思うのですが。

私もそう思うんです。思うんですが「JDBCは速い」という話を別々の人からよ
く聞かされるので…。

>  僕はPHPのことはほとんど何も知らないのですが、psqlから直接
> SQLを適用した場合と速度が変わったりします? 速度が極端に
> 違うようならPHPのスクリプトに問題があると思います(コネクション
> を毎回張りなおしているとか)。

私の印象では、若干遅いです。

単純なSELECT文では、全く同じSQLを1回投げて、結果を表示するだけ…という
スクリプトでpsqlと比較すると、PHPの方がややもたつく程度です。

また、問い合せ結果が大量になる場合、カーソル〜FETCHで処理すると速くな
るはずですが、PHPではあまり速くなりません。普通にSELECTするのと変わり
ない感じです(Perlでは明らかに速かったです)。

ただし、単純な問い合わせであっても大量に集中すると、かなり重くなってき
ます。この状態では、ウェブサーバのメモリ、CPUリソースの使用率に対して、
DBサーバのリソース使用率が圧倒的に小さいことがわかっています。
つまり、PostgreSQLの処理は瞬時に終っても、ウェブサーバがもたもたしてい
る感じです。なので、PHPの問題も小さくはないだろうと思うのですが。。。


>もしPHPとpsqlとで速度が変わらな
> いならJDBCを使っても関係ないでしょう。PostgreSQL内部の問
> 題です。

なるほど。


>  ついでに言わせてもらえれば、PHPで処理できるような要求で、
> とにかくパフォーマンスをあげたい、ということだったらMySQLあたりに
> 乗り換えた方がいいんじゃないでしょうか。

同感です。

現状では、リレーショナルなDB設計に固執する必要が無くなってきたので、
MySQLへの乗り換えも検討中です。ただ、ここにも「本当にMySQLは速いのか?」
という疑問が…。

各種ベンチマークなどの資料は見たんですけど、結局、DB構成によってパフォ
ーマンスが変わると思うので、一概に言い切れませんから。

ところで、「PHPで処理できるような要求」というところがちょっと気になっ
たのですが、PHP以外の選択肢では何がよろしいと思われますか?
jspもaspもさほど変わらないという認識だったのですが…。

#PerlやCというのはナシで…(^^;



/*------------------------------------------------------------------*/
/* 小泉 司@コイズコムデジタルワークス(東京都文京区)              */
/* Desk: mailto:tsukasa @ koiz.com / Mobile: mailto:pigtail @ pdx.ne.jp */
/* PGP Public Key: http://www.koiz.com/~tsukasa/PGP_KEY/tsukasa.asc */
/*------------------------------------------------------------------*/



pgsql-jp メーリングリストの案内