データベースを最適化してMovableTypeの再構築プロセスを高速化できるかも?

Posted by
ぴろり
Posted at
2007/04/06 19:22
Trackbacks
関連記事 (1)
Post Comment
コメントできます
Category
MovableType カテゴリ

 Postgreite では VACUUM 文, では OPTIMIZE TABLE 構文を用いて のテーブルを最適化することができます。 特にデータストレージにを使用しているシステムでは, を削除したり一つのエントリを何度も編集したりと, どうしてもが断片化し易い環境にあります。
 このの断片化が進むと目的のデータに高速にアクセスできなくなり, 特に では再構築時のパフォーマンスに影響が出ると考えられます。 そこでの最適化によって の再構築プロセスが どの程度高速化できるのか試してみました。

この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する | Twitterにポストする

結果発表

 いきなりですが,実は私の環境()ではほとんど効果が確認できませんでした(´・ω・`)  CAPTCHA や JavaScript を利用したスパム対策の効果もあってか, 今までの被害は数える程度で, 今回問題としているの断片化が進んでいなかったのかもしれません。 つまり,そもそも最適化する必要が無かった,と。
 を頻繁に削除するようなサイトでは効果が期待できるかもしれませんが, それでも個人の規模でエントリが数百件程度,も数千件程度では, そもそもの断片化がパフォーマンスに影響を与えるレベルではないかもしれません。 もし目に見えて効果があった時には是非で記事にして頂くか,欄まで一言頂けると幸いです。

方法

 MTStopWatch プラグインを使って(実はこの記事への前振りでした) 全てのエントリアーカイブ,全てのカテゴリアーカイブ,マスタアーカイブインデックスの 夫々の再構築に要する時間を計測してみました。 再構築に要した時間は MTStopWatch によって,構築されたページ中に記録されます。

  1. 再構築を行なう
    1. 全てのエントリアーカイブ
    2. 全てのカテゴリアーカイブ
    3. マスタアーカイブインデックス
  2. 再構築に要した時間を集計する
  3. 上記を 3 回繰り返す
  4. VACUUMまたはOPTMIZE TABLEを最適化する
  5. 再構築を行なう
    1. 全てのエントリアーカイブ
    2. 全てのカテゴリアーカイブ
    3. マスタアーカイブインデックス
  6. 再構築に要した時間を集計する
  7. 上記を 3 回繰り返す

 当サイトが収容されているでは を使用しているので, の最適化は以下の 文を使用しました。

 また,生成されたから MTStopWatch によって計測された計測結果を集計するための Perl スクリプトを作成しましたので参考に。

計測結果

表1. 1 ページあたりの再構築時間
計測 エントリアーカイブ カテゴリアーカイブ マスタアーカイブ
LA最小平均中央最大 LA最小平均中央最大 LA-
1 0.1042.7125.8107.3497.2 0.36140.2224.1189.1459.4 0.432527.7
2 0.4844.9135.5113.0467.4 0.52132.7176.7185.9217.5 0.452548.7
3 0.1642.5118.0103.7402.2 0.81146.1184.1172.2253.1 0.371575.2
を最適化
4 0.2043.2120.0101.2375.7 0.35122.0172.5167.4230.6 0.331705.4
5 0.2240.1119.0107.2367.1 0.05136.8185.7182.8254.9 0.101778.4
6 0.1642.0114.599.7349.2 0.03136.8213.0178.0440.5 0.072046.6
記事数= 264 件,カテゴリ数= 11 件,単位=ミリ秒
LA:再構築前に uptime を実行して得られた直近 1 分の Load Average 値

参考


この記事を読んだ人はこんな記事も読んでいます 記事リコメンデーションについて

その他の関連する記事


関連記事/トラックバック (全 1 件中、最新 5 件まで表示しています)

Open MagicVox.net のスクリーンショット
タイトル
定期的にデータベースを最適化するMovableTypeプラグイン
Trackbacked at
2009/12/20 16:37
from
Open MagicVox.net
評価
Web Scouter
概要
 MovableType が使用している MySQL データベースを定期的に OPTIMIZE TABLE してくれるプラグインを書いてみました。MT5...

この記事にトラックバックを送るには?

コメントを投稿する

 
 (匿名可/必須/公開)
 (匿名可/必須/非公開)
 (必須)
コメントスパム防止のため投稿前に ランダムな数字 CAPTCHAについて を入力してから投稿してください。お手数ですがご協力のほど宜しくお願いいたします。
 
MovableType, NovableType, JovableType, KovableType, MIvableType, M9vableType, M0vableType, MPvableType, MLvableType, MKvableType, MoCableType, MoFableType, MoGableType, MoBableType, MovQbleType, MovWbleType, MovSbleType, MovZbleType, MovaVleType, MovaGleType, MovaHleType, MovaNleType, MovabKeType, MovabOeType, MovabPeType, MovablWType, Movabl3Type, MovablRType, MovablDType, MovablSType, MovableRype, Movable5ype, Movable6ype, MovableYype, MovableGype, MovableFype, MovableTTpe, MovableT6pe, MovableT7pe, MovableTUpe, MovableTHpe, MovableTGpe, MovableTyOe, MovableTy0e, MovableTy-e, MovableTyLe, MovableTypW, MovableTyp3, MovableTypR, MovableTypD, MovableTypS SQL, AQL, WQL, EQL, DQL, XQL, ZQL, S1L, S2L, SWL, SSL, SAL, SQK, SQO, SQP ブログ スパム 統計 プラグイン CAPTCHA, XAPTCHA, DAPTCHA, FAPTCHA, VAPTCHA, CQPTCHA, CWPTCHA, CSPTCHA, CZPTCHA, CAOTCHA, CA0TCHA, CA-TCHA, CALTCHA, CAPRCHA, CAP5CHA, CAP6CHA, CAPYCHA, CAPGCHA, CAPFCHA, CAPTXHA, CAPTDHA, CAPTFHA, CAPTVHA, CAPTCGA, CAPTCYA, CAPTCUA, CAPTCJA, CAPTCNA, CAPTCBA, CAPTCHQ, CAPTCHW, CAPTCHS, CAPTCHZ さくらインターネット