3

多くのクライアントがWebサーバーから多くの小さなデータパッケージをクエリするアプリケーションを実装しています。データベースへの永続的なデータ接続を使用するかどうかがわかりません。データベースは現在Webサーバーと同じシステム上にあり、ソケットを介して接続できますが、これは近い将来変更される可能性があります。

私が知っているように、PHPのいくつかのリリースの前に、mysqli_pconnectは最適に動作しなかったため、削除されました。その間に、また戻ってきたようです。

私のシナリオに基づいて、1分あたり数千のクエリを処理する他の機会はないと思いますが、永続的な接続の負荷と、接続ごとにわずかなリソースしか予約しないMySQL構成がありますか?

ご入力いただきありがとうございます。

4

3 に答える 3

1

彼らが言うように、あなたのマイレージは変わるかもしれませんが、MySQLとOracle(ODBCとOCI8の両方)を含むPHPからの永続的な接続を使用して良い経験をしたことはありません。テストするたびに、システムは接続の再利用に失敗します。負荷が高いと、何百ものアイドル接続があるときに上限に達することになります。

ですから、実際に試して、セットアップが接続を適切に再利用しているかどうかを確認することをお勧めします。期待どおりに機能していなくても、とにかく大きな損失にはなりません。MySQL接続を開くことは、他のDBMSと比較して特にコストがかかることはありません。

また、必要に応じて関連するすべての設定をリセットすることを忘れないでください(どのセッション値を変更しても、次回接続を確立してその接続を再利用するのを待っています)。

于 2010-08-30T09:43:11.987 に答える
1

テストしたらどうなった?

世界に巣立った意志では、人々がSO応答で決定的な答えを提供するために必要なすべての情報を伝えることができる実際的な方法はありません. ただし、通常、mysql 接続を確立する際のオーバーヘッドはほとんどありません。特にデータベース クライアント (この場合は Web サーバー) と同じシステムに存在する場合はそうです。ネットワーク ソケットではなくファイル システムを使用すると、オーバーヘッドはさらに少なくなります。

したがって、接続タイプを簡単に切り替えることができるように、すべてのデータベース呼び出しを抽象化することをお勧めしますが、オンデマンド接続を使用するようにシステムを記述し、実用的になり次第コードで明示的に接続を解放するようにしてください。その後、どのように動作するかを確認してください。

C.

于 2010-08-30T09:32:12.427 に答える
1

PHP の永続的な接続は悪ですか?

問題は、ホスト「Apache」とホスト「MySQL」の間でアクティブな接続が非常に多いことです</p>

通常、永続的な接続では、接続の最大数に達するという問題が発生します。また、あなたの場合、データベースサーバーが同じホスト上にあるため、大きなメリットはありません. 今のところ、通常の接続のままにしておいてください。

于 2010-08-30T09:09:25.753 に答える