2

nginx/php fastcgi を介して mongodb への 1000 の非永続的な接続を作成するテストを実行したところ、開発マシンで約 2.1 秒かかりました。次に、永続的な接続を使用して同じテストを試みましたが、同じ結果でした。とにかく、phpドライバーの永続性が常に有効になっていることをどこかで読んだと思います。次に、APC への接続を保存しようとしましたが、最初の要求から 7 ~ 9 ミリ秒の応答時間が発生しました。今、私はここでいくつかのことを考えています:

  1. アプリで一度に複数の接続を作成したい場所を考えられることはほとんどありません。私が理解している永続的な接続を使用すると、mongo ドライバーによって必要に応じて新しい接続が作成されます。

  2. 単一の接続を作成するには、保存されている接続オブジェクトを APC からプルするのとほぼ同じ時間がかかるようです。接続オブジェクトをキャッシュすると、本当にメリットが得られるでしょうか?

  3. もちろん、私が知っている接続をキャッシュするには、それがまだ有効な接続であるかどうかを確認するために何らかのチェックが必要です。 .

これを実際にカバーしている資料を実際に見つけることができないようですので、私の理解が混乱しているためだと思います. これを試した人はいますか?

ありがとう!

4

1 に答える 1

1

まず、私が知る限り、APCはデータを保存しながらシリアル化しています。したがって、接続をAPCに保存しても意味がありません。

その後、persistend接続は、さまざまなリクエストに対してphpプロセスによって再利用されます。したがって、非永続接続は、phpプロセスが受信するリクエストごとに再確立されます。

于 2012-09-05T14:52:05.700 に答える