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

Tsukasa Koizumi tsukasa @ koiz.com
2003年 3月 9日 (日) 07:45:00 JST


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

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

>  僕は同一のサーバ上にOracle8、PostgresSQL7.0.3、MySQL3.23.36を動作させ
> ています。
>  その印象で言わせてもらえれば、OracleとPostgresの体感速度は大きく変わると
> は思いません。それぞれに得意な処理があるという感じで、どちらかが一方的に
> 優れているという感触はないです。

なるほど。とても参考になりました_(._.)_


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

ないです(笑)


> >現状では、リレーショナルなDB設計に固執する必要が無くなってきたので、
> >MySQLへの乗り換えも検討中です。ただ、ここにも「本当にMySQLは速いのか?」
> >という疑問が…。
> >
>  お試しになればわかりますが、圧倒的に速いです。体感速度でも圧倒的に違
> います。比べるのもばかばかしいくらい違います。

ばかばかしいくらい…ですか。すごいな。。。

>  ただ、先ほども申し上げましたが、ロック、トランザクション、リファレンス
> はサーバ
> 任せにはできません。ですから、複数のユーザーが同時に多数の表にアクセスし
> ても参照整合性を維持しなければならないようなタスクには向きません。

なるほど。
今回のシステムでは、厳密にロックやトランザクション処理が必要な箇所はあ
りませんので、そうするとやはりMySQLの方が適当のようですね。


>  もっとも、仕様というものは次第に大きく、複雑になるものですから、最初は
> トラン
> ザクションなんか要らない……と思っていても、あとで必要になったりするわけです
> が。

あー、それは嫌だぁ(笑)

#ALTER TABLEでInnoDBに変えられるようなことが書いてあるが…後からでき
るのかな。


>  HTMLにスクリプトを埋め込むというやり方はeRubyで試してみましたが、なんか
> 中途半端な感じがして、あまり利用していないです。どちらかというとテンプレート
> としてHTML文書を用意してもらい、そこに実行時に置換すべきタグを埋め込ん
> でやって、それをPerlなりRubyなりで加工する方が好きです。
> 
> # 僕はRuby使いですが、CGIにRubyは遅すぎると感じています....
> # 現状でWebアプリケーションを構築するにはPerlだと思います。
> # ServletやJSPは僕の仕事環境では重過ぎます。
> # ASPは試したことがないのでわかりません。うちは零細企業なもので。

我々も実際には、PHPでみやかわさんと同じような作り方をしています。
HTMLテンプレートを用意して、実行時に置換してHTM出力…という具合です。
やってることはCGIと同じなので、Perlでもなんでもいいのですが、PHPは言語
的にお気楽で、開発期間がかなり短くすむので気に入っています。

#納期の短い仕事が多いので(^^;;;


>  それはそれとしまして、「PHPで処理できるような要求」と書いたのは、「Webア
> プリケーションとして実用的に実現できる程度の要求」という程度の意味です。

なるほど。わかりました。

いろいろ、かなり参考になりました。ありがとうございました。

/*------------------------------------------------------------------*/
/* 小泉 司@コイズコムデジタルワークス(東京都文京区)              */
/* 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 メーリングリストの案内