powered byJoomlaは非常に優れたCMSですが、いかんせん背後のDBにストアされているデータを繰り返し読み書きするため、やはりそういうtransactionが一切ないstatic(静的な)ページ、つまりはHTMLのコードをただ読むだけのものと比べると、loadする速度が遅いのは仕方がありません。でも、記事編集・更新の効率や機能拡張の容易さを考えると、まさか、editorでかりかりとHTMLベースのページを書いていた時代に戻ることなど考えられません。

 

この速度に関する最適化は、色々とできるのですが、特にCMSという高度なシステムには、cache機能も優秀なものがたくさんあります。Joomlaにもむろん複数あります。最近、サイトのload速度を上げるために色々と八方調べまして、テストを重ねて今の状態に落ち着きました。備忘録的にここでシェアしておきます。


まず、代表的なcacheまたは速度向上の工夫として考えられるのは以下のもの:

 

1) Global Configのcache機能
2) 同上でのGzip機能
3) plug-inにおけるSystem-cache機能
4) 同上での3rd partyのextension(RokGzipperとか)

通常のウェブサイト運営の場合、あまり深く考えずに1)から3)をONというのが平均的な設定でしょうか。それであまり問題はないと思います。ちなみに1)は問題がなければprogressiveで、それが嫌ならconservativeで。その時間は15分程度で。ただ、ある程度Joomlaを利用してきたtechie(技術的)な連中だと、4)を試したくなるため、3)あるいはさらに上の設定との組合せが出てきます。

 

その場合も、1)は結構powerfulで有用ですから、ONにするのがたいていは正解。これはglobalなcache設定のため、一度loadしたmoduleやcomponentやらを全てcacheしてくれるからです。同様に、2)も、特にどのextesionともconflictを起こさないため、ONで。次に、有名なRokBoosterやらRokGzipperを使うときは、3)はOFFの場合が多いでしょうか。これは、ext.が似通った機能を実現させているため、conflictを起こす可能性が高いからです。ちなみに、RokGzipperの後継がRokBoosterとのことなので、後者を用いて前者を切ることを勧めるtechieどもが多いですね、米国では。

 

で、そういう風に色々とext.を入れるときは、3)のSystem-cacheを切る場合が多いです。これも、機能がたぶったり、conflictを起こす場合があるからです。System-cacheは意外と知られていませんが、「page」をcacheするものです。一端loadされた全ての部品を含めたpageを、いわば「captureして1枚のjpg画像」みたくするものだと認識しています。なので、動的に色々と動かす場合は、邪魔にさえなることがあり、敬遠されることも。実際、以前のJoomlaのバージョンではdefaultが「disabled」になっていたぐらいです。癖のあるcacheなのです。

 

ill web webところが、今回リニューアルした弊社のウェブサイトのように、ちょっと癖のあるtemplateの使い方などをすると、逆にこの癖のあるcacheが活用できるようになる、という不思議な具合に。弊社サイトは、「ウェブシステム事業部」と「マーケティング事業部」という2事業部で完全にサイトのデザインも背後の更新するしくみも独立させましたので、design templateも別個のものを、メニューごとに利用しています。その際に、2事業部のファイル名や構造が類似していることもあり、A事業部での「Home」がB事業部でのメニューに食い込んだりするトラブルが続発したのです。

 

特に、Rok系のext.とたまたまtemplateの相性が悪いこともまり、ext.は全て外さざるをえなくなりました。さらに、通常の素直な構成ならば効果を発揮するglobal cacheが、違う事業部の類似ファイルを交差してcacheなどするものだから、修羅場に。結局、こいつも使わず。globalなGzipはむろんOKですよ。吐き出すpageを全てGzip圧縮するだけですから、正確にはcacheではないですから。

 

で、System-cacheも無理だろうなと思ったのですが、これだけが上手くいったのです。というのも、「captureしての1枚絵」のようにcacheしてくれるため、(global cacheがないため)変に交差せずに一度loadされたcacheが、そのままどの閲覧者にも放り投げられるからですね。これは便利。というわけで、ちょっとマイナーな存在のcacheが、マイナーなtemplate利用法などをすると、がぜんメジャーになるかも?というお話でした。

 

あ、そうそう。念のため書いておきますが、「ブラウザごとに見せるページを替える」ような目的がある場合は、このSyste-cacheは利用不可です。誰にでも、一端loadされたぶつを見せてしまうからですね。

 

中々奥深いJoomlaのcacheなのでした。

ブログトップへ

 blog update calendar

June 2019
MoTuWeThFrSaSu
272829303112
3456789
10111213141516
17181920212223
24252627282930