WPXサーバーでCPU平均使用率が100%を超えて高負荷になる場合の対策法
WPXサーバーでCPU平均使用率が100%を超えて高負荷になる場合の対策法についてです。
対策法は大まかに言うと2つで、プラグインを減らす、もしくは、PHPのバージョンを上げる事です。
CPUに負荷を与えるプラグインの見直し
CPU平均使用率が100%を超え始めた当初、WPXサーバーから追い出されるのではないかとびくびくしながら、「私はWPXサーバー様にとってご迷惑になっていませんか?対策できることがあれば対処致しますのでご教授願います」と、かなり低姿勢なメールでサポートへと連絡を取りましたw
返信は以下の通り。
CPU負荷が高まると他のユーザー様に悪影響が出る可能性がございますため
一時的なリソース制限や個別に制限が実施される場合がございます。その際、サイトの閲覧が出来なくなるなどの事象が発生いたします。
確認しましたところお客様はプラグインを多数ご利用であることから
プラグインの負荷状況を計測するプラグイン
「P3 (Plugin Performance Profiler)」を利用し、負荷の大きいプラグインを
同等の機能の、より負荷の少ないプラグインへ置き換える対策を
検討くださいましたら幸いです。
プラグインは極力入れない主義の私に削る余地のあるプラグインはなかったのですが、それでも高負荷なものが見つかれば置き換えを検討しようと思い、P3を入れて検証したところ、Jetpackが重かったのですが、これは必要なのでしょうがないという事で諦めました。
私はあきらめたと書きましたが、一般的にCPU負荷を与えるのはプラグインという事はまちがいないですので、プラグインの見直しは大事な工程ですので、まずP3などのプラグイン検証ツールにて不要なプラグインを割り出ししましょう。
P3の使い方は、plugin performance profilerというプラグインを入れて有効化し、Start Scan ⇒ Auto Scan でOKです。1分程度でスキャンは完了します。
ここで高負荷があるプラグインを見つけた場合は、置き換え可能な場合は置き換え、削除可能な場合は削除で、プラグインが邪魔をしていた場合はCPU負荷はかなり軽減されるはずです。
人気記事やSNS関係のプラグインは重たくなりがち。キャッシュ機能やサンプリング機能などをONにすると改善される事もあるようですので、参考にしてみてください。
CPU使用量の平均をあげる原因の古いPHPを最新に更新する
私の場合はこのPHPの更新で解決しました。
見て頂ければ分かる通り、CPU平均使用率が100%を超えるのなんて当たり前の真っ赤っかなレポートが、PHPを更新した10/23の夕方以降を境に激変しました。
実はPHPの更新が各自で行うものとは知らずに、一昔前の古いPHP5で運用していました。WPXサーバーはなんでも自動でやってくれるって、何を根拠にそう思ったか分からないのですが、頑なにそう信じてたんです。それがCPU平均使用量を引き上げる要因だったなんて・・!
10/20のレポートの数値が異常に低いのは、例のDDos攻撃のあった不運なサーバーだった為です。ほんとあの日は泣きそうでしたw
PHPの更新をする前は、CPU平均使用率が100%を割る日はなく、下手したら150%なんていう平均使用率をたたき出していた迷惑なユーザーだったのですが、PHPを最新のPHP7にしただけで、こんなにもCPUパフォーマンスがあがるなんて知らずに損してました!
PHPの切り替え方法は簡単で、WPXサーバーの管理画面のサーバー設定より「PHPバージョン切替」へ進み、変更後のバージョンのところを推奨のPHP7.1.4にして、設定変更(確認)をクリックするだけ。これだけでPHPは最新のものになります!
ですが、ここからが大事です!
WordPressのバージョンを上げた際、プラグインが干渉して真っ白になった経験がある人は少なくないと思います。PHPもバージョンを上げることによって、そのような事態がおこりかねません。
私は問題なくバージョンアップできましたが、もしPHPをバージョンアップしたはずみでエラーになった場合慌てないで良いように、以下を読んでからPHPのバージョンアップを行ってくださいね。
PHPのバージョンアップによる表示エラーの対策法
テストサイトでテストしたいところですが、WPXサーバーのPHPは全部のWPXサーバーにおいている全てのドメインサイトが一機に変更になりますので、テストのしようがありません。
苦肉の策として、明け方などのアクセスを不通にしても自分の息が止まらない時間帯を選び、まずはSQLのバックアップをとり、次に勇気を出してPHPのバージョンを一機にあげる。
表示崩れしたら元のPHPバージョンへ戻すというぶっつけ本番の方法もあります。おかしくなったら元に戻せば表示は戻るので、私はこの方法をとりました。
それも心配な人は、プラグインを一旦全部止めて、少しずつONにしていけば、どれがおかしいかが分かるので、プラグインを止めてからやる方法が良いと思います。ただし面倒ですよねw
FTPの知識がある人は、プラグインを止めずに、wp-config.phpファイルの編集でデバックモードにて対処することも可能です。
- FTPソフトでwordpressのディレクトリを開く
- wp-config.phpを開く
- define(‘WP_DEBUG’, true);
デバッグモードの記述を上記のようにfalseから「true」に変更
wp-config.phpを上記のように編集した後にPHPを最新に変更した場合は、エラーがあった場合には、エラー項目が画面上に表示されます。
もしwp-config.phpに上記記述がなかった場合は「define(‘WP_DEBUG’, true);」を追記してください。
表示されるエラーコードについて
- wordpressのエラー:wp-includes、wp-admin
- プラグインのエラー:wp-content/plugins/
というように、項目で判断できるので、どのプラグインが干渉しているか一目瞭然となり、プラグイン全解除の後に1つ1つ有効にする必要性がなくなります。
デバックモードでのエラー表示に関しての詳細は、私が再現が難しいので「デバックエラーについて書いているサイト」をご覧ください。
説明は以上になりますが・・
CPUの平均使用量を減らして、パフォーマンスを上げる方法は、PHPの最新バージョンへの更新!
これで間違いないです。WPXサーバーユーザーさんは、今すぐやってください!共有サーバーなので、私と同じサーバーの人は特に1秒でも早く急いで!ww
これでもダメならWPXクラウドのグレードC以上に移転ですね。WPXサーバーはWPXクラウドのグレードB相当という話です。
↓↓wpXサーバーをお考えの方は、まずはお試し2週間を!↓↓
コメントをする(スパム対策で認証制にしています)