1

私の共有サーバーは、PHP から MySQL への同時接続数を制限しています。より多くのトラフィックを受信し、各ユーザーが DB にアクセスする必要がある場合、これが原因で拒否されることがありますmax connection limitation。私はそれmysqlp_connectが問題を解決することを望んでいましたが、どうやら永続的な接続はすべてのユーザーに対してではなく、各ユーザーに対して1つの接続を開いたままにします。

サーバー上で常に 1 つのMySQLリンクのみを開き、各ユーザーに新しいリンクを作成する代わりに、すべてのユーザーがそのリンクのみを使用するようにする方法はありますか?

4

1 に答える 1

0

このテキストから引用しただけですが、これを読むことをお勧めします。
私の場合、接続を作成し、各操作が終了したら破棄しました。これは、オーバーヘッドが非常に小さいため、システムに影響を与えなかったからです。
あなたの場合、コードを調べて、これがどれだけのオーバーヘッドがかかるかを判断する必要があります。通常、これをベンチマークします。


" ここでの答えは非常に単純です。効率です。SQL サーバーへのリンクを作成するためのオーバーヘッドが高い場合は、永続的な接続が適しています。このオーバーヘッドが本当に高いかどうかは、多くの要因によって異なります。たとえば、データベースの種類などです。 、Web サーバーが置かれているのと同じコンピューター上にあるかどうか、SQL サーバーが置かれているマシンの負荷など. 要するに
、接続のオーバーヘッドが高い場合は、永続的な接続がかなり役立つということです.これにより、子プロセスは、SQL サーバーへの接続が必要なページを処理するたびにではなく、存続期間全体で 1 回だけ接続するだけになります. これは、永続的な接続を開いたすべての子に対して、サーバ。
たとえば、SQL サーバーへの永続的な接続を確立するスクリプトを実行する 20 の異なる子プロセスがある場合、SQL サーバーへの 20 の異なる接続 (それぞれの子から 1 つ) を持つことになります。"

ソース: http://php.net/manual/en/features.persistent-connections.php

これがお役に立てば幸いです。

于 2012-08-31T18:00:02.887 に答える