エンジニア足立のコーディング日記

エンジニア足立のコーディング日記

ブログトップへ >> 『2013年2月』の記事一覧

RSS MTの高速化を試してみました!!

この記事を読むのに掛る所要時間: 334

 

MTで構築した某ブログをスマホ対応させてみました。

 

が、

 

元々再構築に異常に時間が掛かっていたものが、

 

スマホ用のテンプレートを追加したことで、

 

ますます時間が掛かるようになってしまいました。

 

そこで、一度高速化を行なって見ることに!!

 

本来はダイナミックパブリッシング化を実行したところなんですが、

 

いろいろと都合があって今回はMySQLの設定を変更してみることにしました。

 

と言っても、
MySQLのストレージエンジンをMyISAMからInnoDBへ変更してやるだけです。

 

作業手順は以下の通りです。
============================================================
①、まずデータベースのバックアップをとっておきます

 

②、念の為、現状の再構築に掛かる時間を計測しておきます。
※今回は記事ページの再構築のみを対象とします。

で、
再構築に掛かった時間は約6分!!

結構掛かっています!!

 

③、そして以下のSQLを実行させてMTで使用しているテーブルをInnoDBへ変更します。

alter table テーブル名 engine=InnoDB
※「テーブル名」は各テーブルの名称へ変更して下さい。

 

④、最後に、「my.cnf」を修正して、キャッシュサイズのチューニングも行なっておきます。

何かあると恐いので、変更前に以下のコマンドでmy.cnfのバックアップをとっておきます。
# cp my.cnf my.cnf_bk

 

で、

 

# vi /etc/my.cnf
として、

 

以下の2行を追加します。
===============================================
innodb_buffer_pool_size = 16M
innodb_log_file_size = 2M
===============================================
※値はパフォーマンスを測定しながら各自の環境に合ったものに変えて下さい。

 

「innodb_buffer_pool_size」の数値を大きくした場合、

 

「innodb_log_file_size」も大きくしないとパーフォーマンスは向上しないとのことなので、

 

同時に変更します。

 

また、「innodb_log_file_size」の値は「innodb_buffer_pool_size」を超えてはいけないので、

 

注意が必要です。

 

my.cnfを修正した場合は、

その設定を反映させるためにMySQL自体の再起動が必要です。

 

# /etc/rc.d/init.d/mysql restart

 

⑤、変更が終われば、本当に高速が図れたかを確かめるために、
もう一度再構築の時間を計測してみます。

結果は約5分30秒!!!!!!

30秒くらいしか変わりませんでした!!
============================================================

 

塵も積もればとはいいますが、

 

塵が積もるほどMTの再構築を行う機会もないので、

 

30秒くらいの改善ではほとんど意味のない結果に思います。

 

やはり、

 

ダイナミック・パブリッシング化で対応するしかないですかね。。。

このページのTOPへ戻る

著者情報

足立 拓也(あだち たくや)
1980年生まれ。
出身:兵庫県丹波市。
趣味:ボクシングジム通い。
特技:歴史の話しをすること。
一言:頑張って面白いブログを書きます。

月別アーカイブ

  •  

    • [—]2017 (9)
    • [+]2016 (49)
    • [+]2015 (86)
    • [+]2014 (81)
    • [+]2013 (104)
    • [+]2012 (78)
  • カテゴリー