ページの作成や編集にはユーザ登録が必要です。
負荷について - くわ (2003年08月17日 04時32分41秒)
お世話になってます。どこに投稿しようか迷ったのですが、とりあえずこちらで。
ビジュアル系データベースというサイトをFSWikiで運営させて頂いているのですが、レンタルサーバーの会社から負荷が高いという指摘を受け、ゲームCGI等の使用も可能なプランに変更しました。その後も、負荷が高いという指摘をしばしば受けており、運営の継続が困難な状況になっています。今後、lite版的バージョンの開発もしくは負荷に関する修正の予定はありますか?また、負荷を抑えて運用するコツ等あれば教えてください。
現在は、レンタルサーバーはebrain21.comでWikiName使用しない、ページの自動リンクしないテンプレートを修正してサイドバーを使用しないというような形で運用していて、ページ数は700を越えており、今後も増加していく見込みです。
- なかなかなページ数ですね。ページ数の増加に依存して部分で負荷が上がっているとしたら、WiikiFarmに分けることで解決するかも知れないと思います。 - Kinsan (2003年08月17日 10時10分31秒)
- ここですら300ページくらいですからね…。Lite版は作り始めていますが、FSWikiがモジュール化で高機能を目指すのに対し、Liteは必要最低限の機能まで絞り込むという方向で考えています。今のところプラグインや管理機能は一切使用できませんが、データやスタイルシートは完全に互換性があります。 - たけぞう (2003年08月17日 11時07分37秒)
- WikiからHTMLへの変換のキャッシュをレベル分けしてはどうですか?何らかのページ更新・作成があった場合にはキャッシュを無効とするのが、完全なレベル。ページが更新した時にそのページをHTMLにキャッシュしたもののみを作成し直すのが、一番Liteなレベルとしてはどうですか。一番Liteなレベルの場合、存在しているページが?でリンクされたりはありますが、表示のみの問題なので、目をつぶれる気がします。あと、KeywordとInterwikiの機能をオフにすると軽くなるのでは?(そう言えば、最近のバージョン(?)では、指定してなくても、Wikiにあるページ名と同じ語句はリンクにしてくれますが、あれがページ数の増加に依存して負荷を上げる要因の一つではないですか?) - Kinsan (2003年08月17日 12時10分28秒)
- 「ページの自動リンクをしない」にしてキャッシュを削除すれば(管理画面から削除できます)ページの自動リンクは行われません。 - たけぞう (2003年08月17日 12時34分22秒)
- コメントありがとうございます。とりあえずWikiFarmを使ってページ数を減らしてみます。 - くわ (2003年08月17日 14時52分25秒)
- HTML部分のキャッシュはプラグイン部分はキャッシュできないことが多いのでプラグインのみ表示時に置換などの処理が必要になります。プラグインもものによってはログやキャッシュファイルを舐めたりしますし、大量のモジュールのコンパイルがボトルネックになっているので、HTMLのキャッシュでどの程度効果があるのかは疑問ですね。 - たけぞう (2003年08月17日 18時21分24秒)
- Farmを使用してWikiを作成していたところ、原因はわかりませんが再度サーバーが停止してしまったため運用を停止しました。鯖会社からも根本的な対策を求められていますので、Lite版のリリースを待ちたいと思います。 - くわ (2003年08月17日 19時00分38秒)
- 使わないプラグインは入れない、というのも負荷軽減に役立つような気がします。毎回初期化しに行くので。 - にらたま (2003年08月17日 19時13分59秒)
- プラグインは実際に使用された時点でeval関数によってuse→インスタンス化してるので、外しても実際にはそれほど変わらないんじゃないかと思います。showフックとか毎回呼ばれるようなものは別ですが…。 - たけぞう (2003年08月17日 22時49分09秒)
- FSWikiLiteに自宅マシンで使用していた簡易版Wikiをアップロードしましたのでよろしければお試しください。プラグインは一切使用できませんし、アクセス制限などもできませんが、用途によってはこれでも充分かと思います。なお、添付や差分、検索、凍結など、いくつかの機能はこれから実装しようと思っています。今はCGI.pmを使ってますが、Niftyなどで使うことも考えるとcgi-lib.plやjcode.plを使ったほうがよいのかも。 - たけぞう (2003年08月17日 22時56分40秒)
- さっそく設置させて頂きました。今までと比較してかなりサクサク動作しています。ただ、includeとcategoryを多用している為、しばらくはLiteでの仮運用という形で移転先を探したいと思います。 - くわ (2003年08月18日 01時25分39秒)
- ちょっとperlの本を読み返していたのですが、使われないことのあるモジュールについては、"use autouse"を使うって手は効果がありそうな気がします。 - Kinsan (2003年08月18日 11時29分08秒)
- その後、サーバー提供者のお陰でなんとか運営を続けています(現在は2000サーバで3.5.3使用)。現在はページ数が1800件を越えレスポンス的にいかんともしがたい状態になってきたのでいろいろ調べていたのですが。perltimeというツールを使ったところ、
Total Elapsed Time = -0.16296 Seconds User+System Time = 3.390092 Seconds Exclusive Times %Time ExclSec CumulS #Calls sec/call Csec/c Name 36.9 1.251 1.267 3 0.4170 0.4223 Wiki::search_child 10.6 0.361 1.188 4 0.0902 0.2970 Wiki::DefaultStorage::get_page_lis t 7.79 0.264 0.262 414 0.0006 0.0006 Wiki::DefaultStorage::get_last_mod ified 6.49 0.220 0.546 24893 0.0000 0.0000 Wiki::DefaultStorage::get_last_mod ified2 5.07 0.172 0.679 24893 0.0000 0.0000 Wiki::get_last_modified2 3.27 0.111 0.107 5125 0.0000 0.0000 Util::url_decode 2.80 0.095 0.249 9 0.0106 0.0276 main::BEGIN 2.77 0.094 0.094 79 0.0012 0.0012 Wiki::Keyword::exists_keyword 2.74 0.093 0.093 98 0.0009 0.0009 Wiki::DefaultStorage::page_exists 2.30 0.078 0.224 2256 0.0000 0.0001 Wiki::get_login_info 1.86 0.063 0.058 2244 0.0000 0.0000 Wiki::get_page_level 1.86 0.063 0.063 13 0.0048 0.0048 Wiki::BEGIN 1.71 0.058 0.084 18 0.0032 0.0047 Util::load_config_hash 1.42 0.048 0.057 2325 0.0000 0.0000 CGI::self_or_default 1.39 0.047 0.047 25 0.0019 0.0019 Wiki::install_plugin
というように、Wiki::search_childがネックになっているようです。現在Farmは使用しない設定にしているので、動作する必要の無い処理だと思うのですが。 - くわ (2004年05月11日 23時13分22秒)
- あとはページの一覧がキャッシュされると良い気がします。なお、上記のテスト時のページ数は1300件弱です。 - くわ (2004年05月11日 23時55分58秒)
- 3.5.4ではFarm無効時にはsearch_childを呼ばないようになっています。お試しください。一覧のキャッシュについては今後のバージョンで考えてみます。 - たけぞう (2004年05月12日 12時28分19秒)
- BugTrack-plugin/118に、対策版をアップしてみました。 - kuwa (2004年05月13日 23時11分01秒)
- それと、Jcode.pmを、FSWikiに同梱されている物を使うのをやめて、コンパイル済の物をインストールしてみたらかなり軽くなりました。 - kuwa (2004年05月13日 23時12分16秒)
最終更新時間:2004年05月13日 23時13分13秒