<<  このカテゴリ内の前の記事 MODxをさくらインターネットにインストール(その3)  ||   このカテゴリ内の次の記事MODxの解説本が出版されます >>

るるろぐ 2008 新着記事

この記事1件を表示

うちのMODxが激重い理由

たいしたCSSでもないのに、なんでこんなに重いのか疑問だったんですが。疑問が解けました。

そう、確かにCSSのせいではない。表示は早いんだから。ページもサクサク動くし。ただ、アクセスした後しばらく間があって一気にばっと現れる。なんで?テーブルの入れ子なんかしてないのに(ってかつかってねーよ 笑)。。いや、IEで見てもFFで見ても遅いんです。。

しかもキャッシュしてるにもかかわらず、次にアクセスしたときも同じ遅さだ。「TemplateSwithcer」の罠(笑)だって回避している。

で、原因のひとつはわかった。とても情けない理由だ。(笑)
それはいくらページでキャッシュ可にしていても、スニペットコールの書式がキャッシュ不可になっていたら、そこで出力される動的データはキャッシュされないのだ。。ということを身をもって知った。(笑)。

そんなわけで、可能な限りスニペットコールはキャッシュ可の書式に。

  • [[スニペット名]]…キャッシュ可
  • [!スニペット名!]…キャッシュ不可


結果は。。う?ちょっと早くなったかな。2回目以降のアクセスでは。。でも重い。何でこんなに重いのだろう。。?

もう一つの原因は。。
CSSを動的制御していたせいだった。MODxは、CSSだろうがナンだろうが(たぶん)、ドキュメントと同じように管理できる。これがウリのひとつなわけなのだが。確かにドキュメントとしてCSSを管理していれば、CSSの中にチャンクなんかも書けるので便利なんだが、しかし。表示が遅い。そのせいで。。

遅いのは許せない。ていうかコレ。サーバーに負担かけてるよね。レンタルサーバーではしない方が無難かも。MTでも、CSSは自動再構築の対象から外しているのだ。

ということで、実体化(ファイル化)して、読み込ませることにする。別に大変ではない。もともとローカルに作ってあるのだし。それをFTP(とかMODxのファイル管理でもよし)でアップロードして、htmlからの参照パスを変えれば良いだけだ。

お、おおお?早くなったぞ。やはりこれが大きかったか。。ハックしてるせいでCSSファイルが6つにもなってるからなあ。。ちなみに、CSSファイル一本なら、そんなに遅くはないのよ。ねん。。てなわけで、ブラウザ別対応を考えないなら、一本化してCSSの動的制御は良いだろう。

それともう一つ。メニューを書き出すスニペットでWayfinderってのがあるのだが、これのパラメータを指定するのに「UltimateParent (これもスニペット)」を使って親ドキュメントのIDを書き出させているんだけど、これがだ。Wayfinder側をキャッシュ不可の書式で書かないとsqlエラーを起こす。

どぉいうことかというと。
[[wayfinder? startID=`docid`]]
が基本書式なワケなんだがコレを
[[wayfinder? startID=`[[UltimateParent]]`]]
と書くことによってカテゴリごとにテンプレを変えなくてすむ。やったーっ。天才ジャン(爆)と思ったんだけど、この書式だとSQLエラーが出てMODxがとまるのよねん。。

そんなわけで、
[!wayfinder? startID=`[[UltimateParent]]`!]っていう方の書式を使わないとならない。これなら正常に動作する。でも、おかげでwayfinderが書き出すメニューがキャッシュされず、次回のアクセス時にも同じだけ時間かがかかる。

ということでなんとか[[wayfinder]]の書式で書き(これだと早いんです!(笑))、しかも、カテゴリごとにテンプレを変えなくてすむ方法を別に考えなくてはならない(たぶんテンプレート変数を使ったらできそうな気がしている。でも試してみないとわからん)。

やっばり、表示はさくさく早めが基本です。(笑)

サイト内関連記事:重いと思ったらキャッシュを疑え

コメントを書く

コメントの掲載は、管理者の承認が必要な場合があります。すぐに掲載されない場合は、少しお待ち下さい。また、内容によっては掲載しない場合、掲載後、削除する場合もございます。ご了承下さい。

 必須

 必須


トラックバック

このエントリーのトラックバックURL:

http://www.liolion.info/MovT/LULUL/mt-tbon.cgi/670

都合により、上記URLの「mt-tbon.cgi」は、全角で表示しています。TBの際は、恐れ入りますが、半角に直して送信してください。

またこのブログは、トラックバックを受け付けても、それがすぐに反映されない仕組みになっています。管理者が確認後、公開しますので、少しお待ち下さい。尚、内容によっては、公開しない場合もあります。ご了承下さい。また内容に問題がないと思えるのに、いつまで経っても公開されない場合は、なんらかの事情で、pingが届いていない可能性があります。よろしければ再度送信してください(このブログに関してコメントをする?)。

スニペットの記述とキャッシュ

 スニペットの記入例をいい加減に書いていたのでちょっと整理する。 スニペットは「キャッシュを有効にしてスニペットを利用したい場合」と「キャッシュ不可にして...

at 2008.02.15 10:50 - from quickcms.so.land.to

MODx本出版

ここからカテゴリ一覧、記事一覧を表示

CATEGORY

RSS1.0 RSS2.0