MySQLデータベースサーバーに接続するために永続的な接続を使用することは、常に良いオプションではありません。各接続は、メモリ、バッファ、MySQLおよびソケットの内部のテーブルまたはスレッドキャッシュ、OSレベルでのファイルのオープン、IOアクティビティなどのリソースを使用します。したがって、多くの永続的な接続が開かれているが、トランザクションの完了後に閉じられていない場合、システム上のリソースが枯渇してWebサーバーのパフォーマンスが低下するか、最悪の場合、HTTP障害が発生する可能性があります。さらに、永続的な接続が停止したり、非アクティブになったり、機能しなくなったり、使用されなくなったりした場合、接続は終了せず、MySQLサーバーは、デフォルトで約28800秒(8時間)後に接続によって占有されているリソースを解放するためにのみ接続を閉じます。 my.cnf構成ファイルのタイムアウトパラメーターを変更しました。このいくつかの要因により、MySQLが新しいDB接続を拒否したり、アプリケーションが永続的な接続を適切に処理しない場合にサーバーが遅くなったりするなどの問題が発生する可能性があります。
したがって、ウェブマスターの経験がない場合は、永続的な接続を使用するようにWordPressを変更しないでください。
ただし、ブログが忙しくて大規模で、ウェブホストシステムの仕様をアップグレードする際に制約に直面していて、WP-Cacheなどの静的ページキャッシュプラグインを使用したくないブロガーの場合、永続的な接続はウェブサーバーを調整および最適化するための利用可能なオプションです。 Webページの配信を高速化できるかどうかを確認します。持続的接続により、接続を1回開くことができ、スクリプトの実行が終了しても閉じられません。代わりに、リンクはプールに保持され、将来の使用のために開いたままになります。したがって、永続的な接続を使用すると、接続を開いたり閉じたりするプロセスが不要になります。これにより、認証などのMySQL接続関連のサーバーオーバーヘッドが間接的に削減され、1回だけ必要な場所で接続が確立され、余分なネットワークトラフィックや、余分な接続の処理に使用されるリソースが節約されます。さらに、接続レベルのキャッシュがいくつかある可能性があります。これらのキャッシュは、適切なパフォーマンスを実現するために埋める必要があり、データベースへの接続数を減らす可能性があります。
デフォルトでは、WordPressはすべてのページで新しいデータベース接続を確立するmysql_connect()関数を使用しています。持続的接続機能には、まったく同じAPIを使用するmysql_pconnect()関数が必要ですが、要求間で接続を維持するための接続プールが組み込まれています。したがって、永続的な接続を使用してWordPressを実行するように切り替えるには、mysql_connect()関数をmysql_pconnect()に置き換える必要があります。
WordPressとの永続的な接続を有効にして使用するには、SSH(または安全でないTelnet)を使用してWebホストにログインし、ディレクトリをWordPressブログがインストールされているwebrootホームディレクトリに変更します。
wp-config.phpを見つけて編集します ファイルを作成し、次の行を追加します(または、定数がすでに存在する場合は、次の値に変更します):
define('USE_PCONNECT', true); define('WP_CACHE', false);
WordPressとPHP(PHP.INIでmysql.allow_persistentをオフにしない限り)は、すぐに永続的な接続を使用してMySQLデータベースに接続します。ご使用の環境に最適な設定を試してみる価値があります。
次の手順も実行可能ですが、WordPressコアファイルをハッキングする必要があるため、お勧めしません。この記事では参照用として残しておきます。
ディレクトリをwp-includesに変更します ディレクトリ。 wp-includesディレクトリ内には、 wp-db.phpがあります。 ファイル。 viなどのテキストエディタを使用して、wp-db.phpを編集します。 mysql_connectの機能を検索または検索します (または @mysql_connect )。 mysql_connectのインスタンスは1つだけです。 mysql_connectをmysql_pconnectに変更するだけです 、次にwp-db.phpを保存して終了します。