sql >> データベース >  >> RDS >> Mysql

PHP-MySQL永続接続を使用してWordPressブログを実行する

    MySQLデータベースに接続する場合、PHPスクリプトに基づくWordPressウェブログはデフォルトで非永続的接続を使用します。つまり、WordPressはPHPをトリガーして、動的ページ要求ごとにMySQLサーバーへの新しい接続を生成し、その後、Webページの構築が完了するとデータベース接続を閉じます。 MySQL接続を繰り返し開いたり閉じたりすると、オーバーヘッドが発生し、Webホスト上の貴重なCPU、メモリ、およびシステムリソースを消費します。

    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を保存して終了します。


    1. WHERE句で大文字と小文字を区別する検索を行う方法(SQL Serverを使用しています)?

    2. SQL Server 2016:ビューを作成する

    3. DAY()の例– MySQL

    4. Oracleで文字列から日付を取得する方法