rui live note

WordPress、PHP、子育て、ブログ、将棋、コワーキング、子育て、群馬等に関する日々感じたことを書いているブログです

*

MySQLの最適化でWordPressのアクセス不能状態を復旧

      2014/03/15   MySQL, WordPress, 開発 , , , ,

  • このエントリーをはてなブックマークに追加
  • Pocket

XREAでWordpressのサイトをいくつか運営していますが、そのうちの一つがある日突然レスポンスを全く返さなくなってしまいました。

同じサーバで運用している他サイトは正常に見えてるし、管理画面のphpMyAdminからDBも動いているようだし、これはWordpress周りの異常かなと思って調べたところ、MySQLのオーバヘッドが溜まるとアクセスできなくなるという結構事例も多くある現象が見つかりました。

MySQLの最適化を試したところ、すんなりサイトは復旧しました。

というわけで、その時の最適化作業備忘録です。

DBの最適化

XREAのWeb管理画面からphpMyAdminにアクセスします。

DBのテーブル一覧を開くと、オーバーヘッドができているテーブルが見つかります。

SQLタブを開き、オーバーヘッドがあるテーブルに対して最適化クエリを実行します。

optimize tables `wp_options`, `wp_postmeta`

オーバーヘッドがクリアされます。

最適化スクリプトをcronに設定

手動で最適化すれば暫定的に解決しますが、しばらくしてオーバーヘッドが溜まるとまた同じ事象が繰り返されます。

そこで、XREAのcronにDB最適化を実行するスクリプトを仕込みます。

・mysqlcheck.sh

#!/bin/sh
/usr/local/mysql/bin/mysqlcheck -o -r --databases [DB名] -u[ユーザ名] -p[パスワード]
exit

mysqlcheckコマンドの-oオプションは最適化、-rは修復です。

このファイルを公開ディレクトリのpublic_htmlから外にUPして、Web管理画面のcronジョブ設定からスクリプトを実行するよう設定します。(私はとりあえず様子見で毎時実行させてみました。)

これで手動メンテナンスも不要となります。

それにしても同じサーバ内でWordpressを使ってる他のサイトはオーバヘッドが溜まってもアクセスできるのに対して、あるサイトだけがまたオーバヘッドができるとアクセス不能になってしまう原因は分からず。

ad

この記事が気に入ったらシェアしてもらえると嬉しいです!

  • このエントリーをはてなブックマークに追加
  • Pocket
  • follow us in feedly
  • RSS

Comment

  1. […] 私の言葉足らずでは混乱させるかもしれないのでこちらのページをご参考になさってみて下さい。 MySQLの最適化でWordPressのアクセス不能状態を復旧 […]

  2. MySQLの最適化

    ときどき、サイトにログインもできないし、表示もできないことがあって。けど、 ほおって置くと、直ってるんで意識していなかったんですが、今回はちょっとひどかった。   ので、…

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  関連記事

サーバー
VMにUbuntu Server10.10+Apache+PHP+MySQLの開発環境セットアップメモ

Ubuntuインストール 下記サイトよりUbuntu Server 10.10 …

棋士出身地マップ
棋士データベースで遊ぶ(4)〜OpenStreetMapで棋士出身地マップを作る〜

※この記事は「将棋 Advent Calendar 2016 – A …

PERARI
WebRTCで動画チャットできる「PERARI」というWebサービスを作りました

※この投稿は「WebRTC Advent Calendar 2014」の3日目の …

WordPress管理画面
WordPress管理画面左メニューのレイアウトがChromeで崩れる現象の対策方法

最近、WordPressをいじってると管理画面左メニューのレイアウトが崩れて表示 …

svg
PHP+ImagickでSVGを画像変換する手順まとめ

PHP+ImagickでSVGを画像変換してみるまでの流れをまとめておきます。 …

WordPress
WordPressで過去記事のリンクを画像付きで表示するショートコードの作り方

記事内で、自分のサイトの過去の投稿を紹介する機会って結構ありますが、そんな時にリ …

ffmpeg-php
ffmpeg-phpを入れてNetCommonsの動画配信モジュールを使ってみるまでのセットアップ手順

NetCommons2公式サイト 動画配信モジュール NetCommonsに動画 …

WordCamp Tokyo 2016
今週末は「WordCamp Tokyo 2016」へ行こう!

今週17日(土)、18日(日)は、WordPress のお祭り「WordCamp …

ビジネスマン
chrome標準のPDF Viewerを無効にする方法

Adobe Readerとか他のプラグインでPDFを見たい場合に、chrome標 …

バイラルメディア
WordPressで初めてのバイラルメディアを一時間で作る方法

先日、SUPOCON という初めて作ったバイラルメディアのサイトを公開したのです …