本文へジャンプ

Movable Type 再構築高速化 考察(1)

Movable Type 再構築高速化 考察

Movable Typeで記事が増えてきたりすると、管理画面が重い、再構築に時間がかかるというハナシがでてきたりします。

これらの原因はいくつかあるのですが、今回はテンプレートの記述の仕方に注目してみたいと思います。

再構築にかかる時間

記事を更新すると、その時点でいくつかのテンプレートに再構築が実行されます。
再構築の時間が短いほど体感的に早くなったと感じることができるでしょう。

なので、テンプレートの記述の仕方でどれくらい再構築に時間がかかるかを調べてみます。
計測には「MTSpeedMeter」プラグインを使用しました。

記事を普通に出力してみる

まずは、記事数が約1500件ほどのブログで、<mt:Entries>を3回出力してみます。

1:9.63901400566101
2:9.55511212348938
3:9.67439603805542
平均:9.622840722401937

再構築にかかった時間は、平均で「9.622840722401937」秒でした。
ちなみに、<mt:Entries>が1回だと平均「3.948484659194947」秒でした。

<mt:Entries>の回数を増やすと、比例的に処理時間も増えました。



[<$mt:EntryID$>:<$mt:EntryTitle$>]


[<$mt:EntryID$>:<$mt:EntryTitle$>]


[<$mt:EntryID$>:<$mt:EntryTitle$>]


配列化してみる

今度は、<mt:Entries>を1回に変更して、出力されたデータを配列にします。
その配列を<mt:Loop>で3回展開してみました。

1:4.13107514381409
2:4.15068912506104
3:4.14892315864563
平均:4.143562475840253

結果は、平均「4.143562475840253」秒でした。
ちなみに<mt:Loop>の回数を変更しても、ほぼ時間は変わりませんでした。



 [<$mt:EntryID$>:<$mt:EntryTitle$>]





データベースへのアクセスを増やしてみる

今度は、出力する値(記事IDと記事タイトルの2つから、5つ)を増やしてみます。

1:11.1675078868866
2:11.2783050537109
3:11.2834129333496
平均:11.2430752913157

そうすると結果は、「11.2430752913157」となり、
増やす前の「9.62」秒から約「1.62」秒ほど増えました。

データベースとのやり取りが増えると処理も重くなるんですね。



[<$mt:EntryID$>:<$mt:EntryTitle$>:<$mt:EntryLink$>:<$mt:EntryDate$>:<$mt:EntryBody$>]


[<$mt:EntryID$>:<$mt:EntryTitle$>:<$mt:EntryLink$>:<$mt:EntryDate$>:<$mt:EntryBody$>]


[<$mt:EntryID$>:<$mt:EntryTitle$>:<$mt:EntryLink$>:<$mt:EntryDate$>:<$mt:EntryBody$>]


データベースへのアクセスを増やしてみる@配列版

<mt:Loop>版も同様に変更してみました。

結果は、 1:4.89078998565674
2:4.93412303924561
3:4.93477916717529
平均:4.919897397359213

約「4.14」秒 → 約「4.93」秒に増えました。
増えた文は初回の<mt:Entries>の分でしょうね。



[<$mt:EntryID$>:<$mt:EntryTitle$>:<$mt:EntryLink$>:<$mt:EntryDate$>:<$mt:EntryBody$>]





まとめ

調査した結果、

  • データベースとのやり取りが増えるほど処理に時間を食う
  • 一度変数に格納すれば、値を取り出す際に処理に時間を食わない

ということがわかりました。

再構築の時間を減らすには、データベースからの値の取得は極力少なくするのがカギとなります。

Recent Entries
MD EVENT REPORT
What's Hot?
日本各地の酒蔵との直取引により厳選して仕入れた日本酒を世界に販売
こんな僕たちの仲間に入りませんか?
Movable Type AWS 移管&アップグレード サービス
SNS・ブログ・メールからの流入数が一目でわかる
50,000円からのシネマグラフ(Cinemagraph)制作
TAKUYAが教えるギター・レッスン
KenKenが教えるベースギター教則アプリ
SNS連動型クチコミ拡散システム「レビュー ジェネレーター サービス」
1時間1万円の撮影スタジオ
すべてのコンテンツ/プラットフォームを、ひとつのコンテンツ管理システムで。
Share this on
Facebook Twitter Google+