pukiwiki1.4/tips/pukiwiki_load_reduction の履歴(No.1)


PukiWikiの負荷対策#

表示速度の改善と、503エラーの回避が目的です。

  • エラーページの頻度を把握する
    • GoogleAnalyticsで503エラーの数を計測する(作成予定)
  • 表示速度を測定する
    • GoogleChromeのネットワークパネル
    • PageSpeed Insightsでパフォーマンスの分析をする

重要なもの#

細かいもの#

下書き#

get_existpages() の高速化#

pagename_cache.php#

pagename_cache.phpを導入すると、get_existpages() を利用するプラグイン全般が高速化される。 キャッシュ更新のタイミングは

  • ページが新規作成された後
  • ページが削除された後
  • ページがリネームされた後

なので、一覧などが更新されない場合は上記をやってみる。

キャッシュ#

Convert_Cache#

Convert_Cache 導入による PukiWiki の高速化 ダウンロードはInternet Archiveからconvert_cache.1.0.0.zipを手に入れてくればいい。 動作はしたが、スマホ版スキンで負荷が軽減できなかったので断念。

bodycache#

PukiWiki bodycache Rev. 41+を導入したうえで、ページ内にあるpcomment対策の修正を、pcomment.inc.phpに導入すれば完了。 pcommentをよく使ってるなら、pukiwiki.ini.phpは下記のようにする。

$bodycache_disable_plugins = array( 'ls2', 'include', 'sortabletable' );

なお、擬似 plugin として #bodycache を指定することで、キャッシュの生成をコントロールできます。

#bodycache(enable)
bodycache を強制的に有効にします。
#bodycache(disable)
bodycache を強制的に無効にします。menubarで必要。

sortabletable が動かないのは、キャッシュでは $head_tag($head_tagsではない) が動かないのでjsファイルがリンク切れになるため。 静的にjsのリンクを貼ってしまえばよさそうだが、sortabletable を使っていないページにもリンクが貼られてしまうのが少し気になる……。

define('PLUGIN_PCOMMENT_TIMESTAMP', 2);

pcommentに投稿された時、 0だとコメント/サンプルページだけ更新されてサンプルページでコメントが反映されない。 1だとサンプルページだけ更新されてコメント/サンプルページには反映されない。 2だと両方が更新されるが当然最新の更新も2件編集したような表示になる。

ecache.inc.php#

ecache.inc.php

お手軽部分キャッシュ、と書いてあるだけあって#ecacheで囲んだ場所だけキャッシュする。 長くなっているページのみに行えば効果は見込めるし、不具合も少なそう。まだ試してない。

Web cache#

Andante scherzoso - Web cache v0.1.0 まだ試していないがこれも負荷対策になる模様。

http://jbbs.livedoor.jp/bbs/lite/read.cgi/netgame/7609/1310213661/79

Web_cacheも閲覧者のローカルキャッシュを利用するのでCPU負荷低減も
期待できますが、稀では有りますがサーバとブラウザの息が合わないと
キャッシュが効き過ぎる事があります。閲覧者の環境は多様なので
解決できない事も多いです。そこでCPU負荷はConvert_Cacheに丸投げし、
転送量問題をWeb_cacheとgzip圧縮転送で処理するという方針で当方の
管理下サイト(Oblivion, Fallout 3)は運営しています(それゆえ
Web_cacheの設定は弱めで実用上はキャッシュ効き杉って事は殆ど
発生しない筈)。サーバ側で処理すれば閲覧者側環境の影響は減らせますし。

コメント#

コメントはありません。 comments/pukiwiki1.4/tips/pukiwiki_load_reduction

お名前: