カスタムフィールドで画像を12枚アップロードして、記事テンプレーで幅300pxのサムネイルを生成してタイル状に配置し、拡大(元)画像にリンクしています。
記事数が100を超えたあたりから再構築で「Gateway Timeout」のエラーが頻発するようになったため色々調べたところ、
画像生成の部分をテンプレートから取り除くとエラーが回避されるため、画像のサムネイル生成の付加が高いのではないのかというところまできています。
※見当違いかもしれませんが。。。。。。
質問です。
サムネイル「幅300px」は、再構築のたびに毎回処理されているのでしょうか?
上記だとしたら、サムネイルが存在している場合、無視して再構築を軽くするようなことは、plugin等、技術的に可能なのでしょうか?
>しょうちゃんさん
こんにちは。
>サムネイル「幅300px」は、再構築のたびに毎回処理されているのでしょうか?
MTのソースコードを見る限りでは、指定したサイズのサムネイルのファイルがすでに存在している時は、そのファイルを再利用するようになっているようです。
ただ、サムネイルが存在しても、その縦横のサイズを調べる処理などは行われていますので、そこが重い可能性はあります。
>上記だとしたら、サムネイルが存在している場合、無視して再構築を軽くするようなことは、plugin等、技術的に可能なのでしょうか?
プラグインで工夫することは可能だと思います。
>壱さん
返信ありがとうございます。
なるほど、縦横サイズを調べたりという処理でも枚数が多いと負荷がかかりそうですね。
>プラグインで工夫することは可能だと思います。
お〜 少し望みが出てきました。
mt-config.cgiのImageDriverを変えてみると「Gateway Timeout」のエラーが減ったりするかも。Imagerが軽いっぽい?
ImageDriver | 環境変数リファレンス - CMSプラットフォーム Movable Type -
http://www.movabletype.jp/documentation/appendices/config-directives/imagedriver.html
>jdash2000さん
情報ありがとうございます。
mt-checkで調べたところ、残念ながら「Imager」はインストールされていませんでした。
共用サーバーなので、追加もむずかしいです。
MTAssetThumbnailURLタグをお使いでしょうか?
このタグはサムネイルのキャッシュの有無に関わらず、必ずオリジナルの画像を「サムネイル生成可能な正常な画像であるか」確認するため、一度画像ライブラリで開く処理を行っています(MT5.14以降)
そのためオリジナルの画像のサイズが大きい場合、それなりのメモリの使用を要求しますので、システムの構成次第では再構築の負荷になってしまう可能性があります。
この「一度開く」処理は、例えば
・ImageDriver を変更したことにより、サムネイルを生成できなくなるケース
・一度アイテムとして登録した画像をMT以外の方法(FTP等)で上書きして別のファイルに変更されているケース
などのリスクに対応する意図があると考えているのですが、このようなリスクがあることを把握した上で、サーバ上の画像の管理を行われるのであれば、この処理を省略することによりMTAssetThumbnailURLタグの動作を軽量化することが可能です。
MT6.2の「ImageQualityJpeg」「ImageQualityPng」等の環境変数には対応していない、ImageMagickを使用する等の条件があるのですが、上記の処理を行うプラグインを公開していますので、可能であれば一度試されてみてはいかがでしょうか?
http://labs.m-logic.jp/2014/12/mt-plugin-fast-thumbnail.html
使用方法はマニュアル
http://labs.m-logic.jp/plugins/fastthumbnail/docs/1.0/fastthumbnail.html
にありますが、mt-config.cgiに
「StrictImageCheck 1」もしくは「StrictImageCheck 2」
を追加してください。
>tajima@m-logicさん
回答ありがとうございます。
>MTAssetThumbnailURLタグをお使いでしょうか?
まさにそうです。
>サーバ上の画像の管理を行われるのであれば、この処理を省略することによりMTAssetThumbnailURLタグの動作を軽量化することが可能です。
これこそ求めていた機能です。
プラグインが公開されていたんですね。ImageMagickを利用していますので、条件もマッチします。
早速インストールして試してみます。
ありがとうございました!!
>tajima@m-logicさん
早速プラグインをインストールして「StrictImageCheck 2」を設定したところ、劇的に速度改善できました。
全てを再構築
導入前:11分
導入後:5分
ボトルネックになっていた部分が改善できたので
記事テンプレートの中身を見なおせばさらに速度改善出来そうです。
本当に助かりました。
ありがとうございました!!