• Pukiwiki/Tips/PukiWikiの負荷対策の編集履歴はまだありません
  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • Pukiwiki/Tips/PukiWikiの負荷対策 へ行く。

* PukiWikiの負荷対策 [#x12661e9]

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

- エラーページの頻度を把握する
-- GoogleAnalyticsで503エラーの数を計測する(作成予定)
- 表示速度を測定する
-- GoogleChromeのネットワークパネル
-- [[PageSpeed Insights:https://developers.google.com/speed/pagespeed/insights/]]でパフォーマンスの分析をする

** 重要なもの [#ib7a30ea]

- [[単語検索を無効にする:http://blog.rtwiki.net/pukiwiki/search-disabled/]]
- [[bodycashe.php:http://blog.rtwiki.net/pukiwiki/bodycache-php/]]
-- 効果大。特に長いページでHTML convert timeが短くなる。


** 細かいもの [#b301f4f9]

- [[トレンドマイクロ・百度・Yetiのクローラーを拒否:http://web.tvbok.com/web/server/deny_from.html]]
- CSSを1ファイルにまとめる

* 下書き [#l920e8b2]

** get_existpages() の高速化 [#td0c59de]

*** pagename_cache.php [#v45f4054]

[[pagename_cache.php:http://www.revulo.com/PukiWiki/Cache/PagenameCache.html]]を導入すると、get_existpages() を利用するプラグイン全般が高速化される。
キャッシュ更新のタイミングは

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

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

** キャッシュ [#lb6a3234]

*** Convert_Cache [#n5e234b7]

[[Convert_Cache 導入による PukiWiki の高速化:http://www.revulo.com/PukiWiki/Install/Convert_Cache.html]]
ダウンロードは[[Internet Archive:http://d.hatena.ne.jp/freamist/20080827/1219745937]]からconvert_cache.1.0.0.zipを手に入れてくればいい。
動作はしたが、スマホ版スキンで負荷が軽減できなかったので断念。

*** bodycache [#kdd149e0]

[[PukiWiki bodycache:http://debian.fam.cx/experimental/?namazuTamer%2FPukiWiki%2Fbodycache]]
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件編集したような表示になる。

- [[bodycasheを利用してHTMLコンバートタイムを70倍に高速化:http://oxynotes.com/?p=6141]]

*** ecache.inc.php [#zf1e634d]

[[ecache.inc.php:http://lsx.sourceforge.jp/?Plugin%2Fecache.inc.php]]

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

*** Web cache [#ecbfbca1]

[[Andante scherzoso - Web cache v0.1.0:http://z49.org/2010/09/07/492/]]
まだ試していないがこれも負荷対策になる模様。

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の設定は弱めで実用上はキャッシュ効き杉って事は殆ど
 発生しない筈)。サーバ側で処理すれば閲覧者側環境の影響は減らせますし。

* コメント [#p9ec71cf]

#pcomment