MOVABLE TYPE PLUGIN

RebuildAccelerator

全ファイル再構築の待ち時間を、並列処理で短縮。

全ファイル再構築を並列化し、
待ち時間を大幅に短縮。

RebuildAccelerator は、Movable Type の全ファイル再構築を並列処理で高速化するプラグインです。

再構築メニューに「すべてのファイル(アクセラレーター)」を追加し、記事やインデックスの再構築を並列で処理します。

標準機能の全体再構築が約5分かかるような中規模以上のサイトの再構築時間を、2〜3分に短縮します。

外部モジュールのインストールは不要です。

MT 管理画面から実行 RebuildAccelerator ワーカー ワーカー ワーカー ワーカー 再構築完了

機能

並列処理

重い処理を複数ワーカーで同時に

個別記事・ウェブページ・コンテンツデータの個別アーカイブとインデックスを、並列ワーカーで同時に処理します。ワーカー数は 1〜8 の範囲で設定できます(デフォルト 4)。

確実な出力

標準の再構築と同じファイルを出力

カテゴリ別・月別・著者別などの一覧系アーカイブは MT 標準の処理で順に再構築し、対象の漏れを防ぎます。同じファイルへの同時書き込みもロックで防止します。

失敗の検知

エラーを見逃さず画面に表示

ワーカーの異常終了やファイル書き込みの失敗を検知し、再構築の失敗として扱います。実行中・完了・失敗を画面に表示し、失敗時はエラーの詳細と確認箇所を示します。

安全性

権限確認と多重起動の防止

実行と状態の確認には「サイトを再構築」権限が必要です。確認画面のワンタイムトークンを検証し、意図しない再構築の起動を防ぎます。実行中の多重起動も防止します。

接続非依存

接続・タイムアウト非依存

再構築処理はデーモンプロセスとして独立して動作するため、ブラウザを閉じたり HTTP 接続がタイムアウトしても処理は継続します。

ログ

サイトログと実行ごとの記録

再構築の開始・完了・失敗を実行IDとともに MT のサイトログに記録します。実行ごとの状態やエラーはファイルにも残り、設定により書き出したファイルの一覧も保存できます。

管理画面

再構築メニュー
再構築メニュー
再構築中
再構築中の画面
完了画面(件数内訳)
完了画面
サイトログ
サイトログ

動作要件

システム要件

  • Movable Type ソフトウェア版 8.8
  • Perl 5.16 以降(fork と flock が使用可能な環境)
  • Linux / Unix 系の CGI 動作環境
  • 管理画面での JavaScript の有効化

※ fork を使用するため、Windows 環境では動作しません。

※ FastCGI・PSGI などの常駐プロセス環境での動作は未検証です。

※ MT クラウド版での稼働は保証しかねます。

外部モジュール

外部モジュールのインストールは不要です。すべて MT 同梱または Perl コアのモジュールのみを使用します。

ラインナップ

プラグイン一覧へ

ダウンロード

RebuildAccelerator は無料でご利用いただけます。
ご利用にあたっては下記の免責事項をご確認ください。

免責事項

無保証
本プラグインは現状有姿(as-is)で提供されます。動作の正確性・完全性・特定目的への適合性について、いかなる保証も行いません。
免責
本プラグインの使用または使用不能によって生じた損害(データの損失・業務上の損失等を含む)について、Ethan Technology Japan 株式会社は一切の責任を負いません。
自己責任
本プラグインのインストール・設定・運用はすべて利用者自身の責任で行ってください。本番環境への適用前に、必ず検証環境でのテストを実施してください。
サポート
本プラグインに対する技術サポート・バグ修正・アップデートの提供は保証しません。お問い合わせにはできる限り対応しますが、回答をお約束するものではありません。
変更・配布
自身の環境での改変は自由です。第三者への再配布・サブライセンスはご遠慮ください。

初期設定と使い方

1. インストール

  1. プラグインファイルを MT の plugins/ ディレクトリに配置
  2. plugins/RebuildAccelerator/logs/ の所有者を MT を実行する OS ユーザー(CGI 実行ユーザー)にし、書き込み可能にする
  3. logs/ を Web サーバーの設定で外部から参照できないようにする(下記)
  4. MT 管理画面 システム → プラグイン を開き、RebuildAccelerator が一覧に表示されていれば完了

※ logs/ には実行状態やエラー内容(サーバー上のパスを含む)が保存されます。同梱の index.html はディレクトリ一覧を防ぐだけなので、ディレクトリごと参照を禁止してください。

Apache(logs/.htaccess): Require all denied

nginx: location ~ /plugins/RebuildAccelerator/logs/ { deny all; }

※ FTP や CLI など、CGI 実行ユーザー以外で logs/ 内を作成・変更すると、再構築の状態を確認できなくなります。777 などの過度な権限は付与しないでください。

2. MT ロールと権限

システム管理者は自動的に実行できます。一般ユーザーには システム → ロール で権限を付与してください。

権限 対象機能
サイトを再構築 並列再構築の実行・実行状態の確認

3. mt-config.cgi の設定(任意)

設定を省略した場合はデフォルト値で動作します。変更する場合は mt-config.cgi に以下を追記してください。

設定キー デフォルト 説明
RebuildAcceleratorWorkers4ワーカーの数(有効範囲 1〜8)。1 にするとすべて順に処理
RebuildAcceleratorParallelIndexes1インデックスをテンプレート単位で並列処理。0 にすると順に処理
RebuildAcceleratorFileLog01 にすると書き出したファイルの一覧を実行ごとに保存
RebuildAcceleratorDebugLog01 にするとデバッグログをファイル出力

※ 同時に動くワーカーは最大で設定値の数です。このほかに全体を管理するプロセスが1つ動きます。

4. 再構築の実行

  1. MT 管理画面の 再構築 メニューを開く
  2. すべてのファイル(アクセラレーター) を選択して実行
  3. 実行中は状態と経過時間が表示される
  4. 完了後、種別ごとの件数内訳が表示される。失敗した場合はエラーの詳細と確認箇所が表示される

※ 追加されるメニュー以外の再構築操作は、従来どおり動作します。

※ MT 標準の再構築やスケジュール実行との同時実行は制御しません。時間帯を分けて実行してください。

5. 結果の確認

  • 完了画面の内訳で「書き込み件数 / ビルド候補件数」を確認
  • 再構築の開始・完了・失敗は実行IDとともに MT サイトログ に記録
  • 実行ごとの状態やエラーは logs/runs/<実行ID>/ に保存(過去30件まで保持)
  • ファイル一覧の保存が有効な場合は logs/runs/<実行ID>/rebuilt_files.txt に保存

よくある質問

どのようなサイトで効果がありますか?
全体の再構築に数分以上かかる中規模以上のサイトで効果があります。短時間で終わるサイトでは効果は限定的です。短縮できる時間はサイトの記事構成やサーバー性能などによって異なり、一定の効果を保証するものではありません。
再構築ウィンドウを閉じると再構築は止まりますか?
止まりません。バックグラウンドのデーモンプロセスが独立して動作しているため、ウィンドウを閉じても再構築は継続します。完了はサイトログでご確認ください。
標準の再構築と結果が異なることはありますか?
通常は同じファイルを出力します。ただし、テンプレートが別のテンプレートの出力ファイルを読み込んでいる場合(MTInclude file="..." など)は、処理順によって結果が変わることがあります。インデックスで該当する場合は RebuildAcceleratorParallelIndexes 0 を指定してください。インデックスだけを順に処理し、記事などの並列処理は維持します。本番適用前に、検証環境で標準の再構築と出力を比較することをおすすめします。
特定のエントリだけを再構築することはできますか?
部分再構築(特定テンプレートや特定エントリのみ)は対象外です。標準の再構築処理は変更しません。
ワーカー数を増やせば増やすほど速くなりますか?
サーバーの CPU コア数や性能、コンテンツ量によります。基本的には既定の4ワーカーでの使用をおすすめします。
Windows 環境で動作しますか?
fork を使用するため、Windows 環境では動作しません。Linux / Unix 系の CGI 環境でご利用ください。
不具合を見つけた場合はどうすればいいですか?
お問い合わせフォームよりご連絡ください。対応をお約束するものではありませんが、内容を確認しできる限り対応いたします。
ページの先頭へ戻る