ホーム> ブログ


選択されているタグ :  カスタマイズ

タグを絞り込む :

a-blog ablogcms cms デザイン

動的ページ生成の速度を改善したい

動的ページの生成が遅いことは色々なデメリットがあります.

  • クローラが無遠慮なURL探索をかけてきたときに負荷があがりやすい
  • 規模が大きいとキャッシュをリフレッシュするたびに負荷があがる
  • 運用者がログインした状態でサイト内を巡回するときにストレス

日常的には,3番目が特に重要ですね.とりあえず今回は遅くなりがちなテンプレート上の原因を紹介してみます.

生成速度の確認方法

アクセスログを取得する設定になっていれば,log_accessテーブルに記録されています.大雑把には以下のログを眺めるだけでも,平均的にどの程度の所要時間なのかは分かります.

log_access_url
どのURLに対するアクセスか
log_access_publish
ページ生成方法.dynamic → 動的生成,static → 静的(キャッシュ利用)
log_access_res_time
リクエストを受けてから,レスポンスをブラウザに返すまでの所要時間

ありがち 色々とTouchモジュールで隠している

モジュールは入れ子になっている場合,内側から順番に解釈されます.





このEntry_SummaryはEntry以外のときでも処理されている

Touchモジュールで隠していたとしても,その中のモジュールは毎回きちんと評価されて処理コストを支払っていることになります.

Touchモジュールで色々隠しながらズバズバ分岐させるぐらいなら,テンプレートを分けてしまったほうがページ生成コストは安くあがります,

じつは 標準のinclude類もコストは安くない

切り詰めていくと,管理パーツのinclude類もログインしていない状態の動的生成にとっては無駄なコストになります.

ただし,これらを最適化していく,たしかに効果はあるのですがカスタマイズとしてはややこしくなりがちですのでご注意を.

管理系ボタンのテンプレート


管理ボタン系のテンプレートですが,この中にはAdmin_ActionMenuモジュールが含まれていて,更にその中に多くのTouchモジュールなどが含まれています.ログインしていなければ無駄な要素なので,可能な限り読み込まないほうが高速になります.

エントリー編集時のテンプレート


    
    
    
    

Entry_Bodyの中腹にあるやつですね.これもadminEntryEditブロックの判定で隠されているだけで,includeファイルの中の多くは何かしらの評価がされているため相応の処理コストを支払っています.

次回につづきます

そんなわけで,今回は動的ページ生成の速度を改善するために,遅くなる要因について紹介しました.

長くなってきてしまったので,次回(いつだろう?)で解決例を出そうかと思います.ヒントはグローバル変数!ではでは.



関連タグ:ablogcms カスタマイズ 


こんにちは、足立です。
すっかり夏になりました。

a-blog cms1周年記念パックに入っている限定テーマのカスタマイズ部分の裏側をご紹介します。
限定テーマのサンプルで掲載されている素敵な写真はs-style-artsのおかださんに提供していただきました!本当にありがとうございます!!

飲食店用テーマ

1つめは飲食店テーマです。


主な機能

  • トップのスライド
  • 日替わりメニュー
  • 営業日カレンダー
  • Twitterと連携
  • flickrと連携

Photoギャラリーテーマ

2つめはギャラリーテーマです。


主な機能

  • Flashのようなインパンクトのある背景画像
  • エントリーのタイトルをタイプライター風に表示
  • 投稿した写真の自動スライド


関連タグ:a-blog cms デザイン カスタマイズ 


最近の記事

カテゴリー

最近のコメント

キーワード

有限会社アップルップル

〒460-0003

愛知県名古屋市中区錦2-8-11
セイノー伏見ビル6F [地図]

Tel:
052-221-7300
Fax:
020-4665-4300

  • スタッフ募集中!
  • a-blog cms - Web制作者のためのCMS
  • Web Creators Association Nagoya