1

PHP (5.5)、NGINX (1.1.19)、および PHP-FPM を含むセットアップを使用し、MySQL (5.5.34) をデータベースとして使用し、多くのストアド プロシージャを使用しています。

ストアド プロシージャを使用している理由について詳しく説明したくはありませんが、私が知る限り、永続的な接続を使用することをお勧めします。これは、ストアド プロシージャがすべての接続で読み込まれ、速度が低下するためです (それでも真実?)。

さて、私の知る限り、永続的な接続を行うにはいくつかの子プロセスが必要ですが、PHP-FPMでそれが必要/可能ですか? 私はこれについてさまざまなことを読んだことがありますが、完全にはわかりません。

主な質問は、基本的に次のようになります:上記のセットアップ (PHP-FPM、NGINX、MySQL) を使用する場合、MySQL への永続的な接続を使用/処理する最良の方法は何ですか? 出来ますか?そうでない場合、可能な回避策は何ですか?

前もって感謝します!

4

1 に答える 1

0

PHP-FPM はデーモンとして実行されるため、ワーカーが解放されるまで特定の状態が維持されます。これは、接続と接続管理のセクションで説明されているように、永続的な接続を利用できることを意味します。

すべての接続でロードされるストアド プロシージャに関しては、それらを常に作成および削除しない限り、答えはありません。ストアド プロシージャは通常、スキーマ内のトリガーやその他のデータベース オブジェクトと同様にデータベース サーバー上に永続化されるため、実際に実行されたときにのみオーバーヘッドが発生します。

于 2014-02-09T06:12:18.030 に答える