mr_eye_catching image_iioka
マリンロード

2016.2.3システム開発 

マリンロード

MTの管理画面を高速化する!?

概要

当社でもCMSとして利用しているMovableTypeについて書いていきます。
MovableTypeについてはシックス・アパート株式会社のページを御覧ください。
今回は、管理画面のもたつきを解消する方法の1つをご紹介します。

目的

MTのプログラムの実行速度向上とページ読み込み速度の向上

補足

通常は、WebサーバーはApacheを利用していることが多いと思います
当社で利用するサーバーも、セットアップして提供しているサーバーでも
Apacheを利用していることが9割です。
そこで今回は、ページ閲覧速度の向上を目指しキャッシュができるWebサーバーを使います
以前から話では何度か出てきていると思いますが、Nginxというものを利用します。
こちらはキャッシュ機能を持っており、表示速度を多少早くしてくれます。
その他にも、大量アクセスされるサーバーに向いていたりと利点はありますが
まだ一般的ではなく、企業実績も少ないことから導入はまだ先になるかと思います。

詳細

ただ、普段のMTはCGIという仕組みで動いておりまして
この仕組は下記のような経路で動くため遅くなります。

Apache+CGIの場合

お客様:サーバーさん、index.cgiがみたいです
サーバー:わかりました、取りに行ってきます
サーバー:Apacheさん、index.cgiをください。
Apache:わかりました、でもこれはお客さんは読めないので翻訳して渡しますのでお待ち下さい
Apache:Perl君!index.cgiを翻訳してくれたまえ!
Perl:わかりました!
Perl:翻訳中・・・
Perl:出来ました!Apacheさん!
Apache:どれどれ、ふむふむ、ではサーバーさんこれをお客様にお願いします
サーバー:わかりました
サーバー:お客様、大変お待たせいたしました、こちらindex.cgiになります。
お客様:ありがとうございました。

といった流れになります。

そこで、登場するのがmod_perlやPSGIといった仕組みになります。
仕組みはこうです

Nginx+PSGI(1回目)の場合

お客様:サーバーさん、index.cgiがみたいです
サーバー:わかりました、取りに行ってきます
サーバー:Nginxさん、index.cgiをください。
Nginx:わかりました、これは翻訳しなければ!
Perl:もうやってます!
Perl:出来ました!Nginxさん!
Nginx:ではサーバーさんこれをお客様にお願いします
サーバー:わかりました
サーバー:お客様、お待たせいたしました、こちらindex.cgiになります。
お客様:ありがとうございました。

Nginx+PSGI(2回目以降)の場合

お客様:サーバーさん、index.cgiがみたいです
サーバー:わかりました、取りに行ってきます
サーバー:Nginxさん、index.cgiをください。
Nginx:わかりました、この前見たばかりだからこの辺においてあるな
Nginx:あったあった、サーバーさんこれをお客様にお願いします
サーバー:わかりました
サーバー:お客様、こちらindex.cgiになります。
お客様:はやっ!?

といった流れになります。

解説動画

言葉ではわかりづらいと思うので
今回は動画も用意させていただきました。
内容は
 左ナビのリンクをすべて順番に押していく
 ↓
 テンプレートを一つ開き、保存を押す
※条件として、ブラウザ上でロードが完全に終わってから次のリンクを押すということにしています。
全画面表示で見ることをおすすめします(HD画質[1080p]に切り替えないと見づらいかもしれません)

以上、飯岡でした!

システム開発サービスはこちら
ページTOPへ