dポイントプレゼントキャンペーン実施中!

Webアプリケーションへのアクセスが、すべて同一ユーザ(例えばApache)の場合は、
データベースへの接続をmysql_pconnect、PDO:: ATTR_PERSISTENT等を
用いて、持続的接続すると効率がよいのでしょうか?

持続的接続の注意点等ございましたら、ご教示ください。

A 回答 (2件)

補足に対してのレスですが、mysql_pconnectには「トランザクションを使うとおかしくなる場合がある。

」という致命的なデメリットがありますので、一般的には使われていないと思いますよ。

DBアクセスに関する負荷対策としては、レプリケーションやテーブル分割が一般的と思います。
    • good
    • 0

・メリット


呼ばれるたびにコネクションを張らなくても良いので、動作が速い。

・デメリット
使っていないときでもコネクションは張りっぱなしなのでサーバ負荷が高くなる。
1サーバに1つしか張らないのでスレッド間で取り合いになる。1つ遅いスレッドがあると、他のスレッドにも影響する。
トランザクションを使うとおかしくなる場合がある。



極限までパフォーマンスチューニングしたいというわけではないのであれば、普通にmysql_connectで良いと思いますがいかがでしょうか。

この回答への補足

ご回答ありがとうございます。

私も普通にmysql_connectでいいかと思いますが、mysql_pconnectに
するだけで、パフォーマンスがあがるなら、そうするにこしたことは
ない、と思いまして。。

例えば、ありがちなSNSサイト(月間1000万PVくらい)で、
トランザクション使用していない場合は、どちらが適切な接続方法でしょうか?
実際にやってみないと分からないとは思いますが。。

補足日時:2008/12/17 00:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!