メールを確認していたら、エックスサーバーから「【重要】Xserver お客様のサーバーアカウントにおける著しく高いCPU負荷について」というメールが届いていました。
何かしたかなぁ~と思いながらメールを開いてみると、アクセスが多く、サーバー負荷が高くなったから制限をかけていますという内容。
そこで今回は、サーバー負荷を軽減するための方法をまとめました。
目次
サイトを確認したら「500 Internal Server Errort」と表示されていた
サイトにアクセスしたら、サイトが見れない状況になっていました。これを改善するためには、どうしたらいいの?
何か書いてあります。以下のような原因が考えられます・・・
- CGIの負荷が大きい(CGIプロセスが多数動作している
- CGIのパーミッション設定に誤りがある
- CGIのソースコードに問題がある
- .htaccessの記述に誤りがある
何をどうしたらいいのか分かりません。
サーバー負荷を軽減するための方法
実は、エックスサーバーからのメールの中にCPU負荷軽減対策が書かれています。そのCPU軽減対策は次の2つ。
- プログラムの実行回数を減少させるための対策を導入する
- プログラム処理そのもののCPU使用量を減らす
プログラムの実行回数を軽減させるための対策
キャッシュプラグインの導入を考える
キャッシュプラグインとは、一度誰かがアクセスしたページを一定時間静的なデータとして保存し、次回以降のアクセスにおいては保存した静的データを活用することで、CPU負荷を大幅に軽減し、動作を高速化させるプラグインです。
WordPressを使っている場合、「ZenCache(Quick Cache)」や「W3 Total Cache」というプラグインを導入して表示速度を高速化することで、CPU負荷軽減することができるということです。
プラグインは簡単にインストールでき、素人でも使えるようになっているのが特徴だと思います。だから、キャッシュプラグインもインストールするのはとても簡単です。
でも、キャッシュプラグインの導入は少し考えたほうがいいと私は判断しました。
しばらく運用してからキャッシュプラグインをアンインストールするとWordPressが壊れるという現象があるということ。これは、私の知り合いが実際に経験していたことから導入は見送ることにしました。
サイトを復旧するのに、エックスサーバーからバックアップデータを購入して復旧したとのことでした。
PHP高速化設定(FastCGI)」および「APC」「OPcache」を導入
エックスサーバーのサーバーパネルから、今回CPU負荷の高いドメインのサーバーパネルにアクセスして、「PHP高速化設定(FastCGI化)」および「APC」「OPcache」を有効することで一定の負荷軽減になりました。
サーバーパネルの「PHP高速化設定(FastCGI化)」と「APC」「OPcache」を有効にする方法については、エックスサーバーにマニュアルがありますので参考にするといいです。
同じような内容ですが、実際にCPU負荷軽減した際の画像を使って説明してくれているサイトがありましたので参考までに。
500 Internal Server Errort!エックスサーバー利用者の解決法
いろんなサイトをみて不要なデータや画像ファイルの圧縮をした
エックスサーバーから制限を掛けられると、1週間から10日ほどCPUの負荷状況をみて、負荷状況が「100」以下にならないと制限解除になりません。
私の場合、1週間後にエックスサーバーから連絡が来て「150」まで下がりましたが、「100」以下にしないと制限解除になりませんので、追加のCPU負荷軽減対策を行なって下さいとのことでした。
エックスサーバーからは、特にアドバイスが無かったので、色んなサイトを見させて頂き、次のような対策をしました。
- 不要なWordPressのテンプレートの削除
- アクセスが集まっていない記事の削除
- 画像データの容量圧縮
この3点について、行いました。
不要なWordPressのテンプレートの削除
これが、WordPressの管理画面の外観⇒テーマから不要なテンプレートを削除しました。
アクセスが集まっていない記事の削除
プラグインの「WP-PostViews」を導入しているので、View数の少ない記事をピックアップして、ウェブマスターツールでターゲットキーワードの順位を確認し、上位にいない記事は削除しました。
画像データの容量圧縮
プラグインの「EWWW Image Optimizer」を導入して、画像ファイルのサイズを圧縮することができるプラグインです。
画像ファイルが結構あるので、少しでも圧縮して容量を少なくできればと思い導入しました。
編集後記
CPU負荷軽減対策を行ない、制限を受けてから解除されるまで2週間以上掛かりました。
1つの原因はキーワードがヒットし、アクセス数が一気に伸びたのが原因でした。そのため、アクセス数が自然減になったということもあります。
これは、制限を受けているからアクセス数が減ったのか、素人の私にはちょっと分かりませんが、どうにか制限解除して頂きました。
コメントを残す