2週間ほど前から当ブログの表示速度が遅くなってしまって、500エラーが頻発するようになってしまいました。アクセスも減ってしまいました。問題の原因分析と対策を始めました。
状況確認
サーバーのエラーログを見てみると、大量のエラーが発生していました。
[php]
[Sun Jul 28 03:01:09 2013] [error] [client 000.00.000.00] SystemException in API_Linux.cpp:172: setuid() failed: Resource temporarily unavailable
[Sun Jul 28 03:01:09 2013] [error] [client 000.00.000.00] Premature end of script headers: index.php
[/php]
というエラーが、一分間に何度も発生していました。ググっても有効な情報が得られず、どうしたものかと悩んでいました。
WordPressをダウングレードで解消
原因を色々調べているうちに、なんと、誤ってFTPアプリの操作を間違えて、WordPressのファイルを全部消去してしまいました。何やっているんだよ!と凹みました。
気を取り直して、バックアップしてあったWPファイルをアップロードして復帰しました。WordPressは記事データはデータベースに入っているため、ファイルを消してもデータは消えないのです。ファイルを再アップすれば復活します。
WordPressはバージョン3.5.2を利用していたのですが、バックアップファイルは3.5だったので、データベースは自動的にダウングレードされました。すると、表示が劇的に速くなりました。
さらに、バージョンを3.5.2にアップデートしたところ、表示速度の低下は見られませんでした。テーマは以前と同じものを利用していたので、原因はプラグインかなと思っています。
アクセス数も増加してきています。表示速度の低下はユーザーにとってストレスです。SEO、つまり検索エンジンでの上位表示の評価にもつながります。ブログの表示速度が遅いと感じている人は、一度サーバーのエラーログを見てみると良いと思います。
バックアップで対策
今回は怪我の功名でした。WordPressはバージョンアップする際にフォルダごとローカルにバックアップをとっておいたほうが良いと思いました。プラグイン等のカスタマイズで不具合が出ても、ファイルをすべて入れ替えれば問題が出る前の状態に戻せます。
WPBackupプラグインでファイルもDBも丸ごとバックアップしてしまいましょう。私はDropbox上にpublic_htmlディレクトリ以下をすべてバックアップするように設定しました。画像データもWordPressファイルもすべてです。
毎日のバックアップ、週に一度のバックアップ、ひと月に一回のバックアップと、周期を変えて平行して設定しておくと良いでしょう。
コメント