*tracker_listの高速化 [#v5af713d]

-ページ: BugTrack
-投稿者: [[reimy]]
-優先順位: 普通
-状態: 着手
-カテゴリー: プラグイン
-投稿日: 2004-03-18 (木) 22:20:54
-バージョン: 

**メッセージ [#nb6b3849]
tracker_listの出力の高速化も検討課題ですね。出力内容をあらかじめキャッシュするようにできないものか…

[[pukiwiki:雑談/10]],[[pukiwiki:雑談/11]]参照。

----
** コメント [#ga896b1c]
** コメント (副作用のある?パッチ) [#ga896b1c]

-かなりいい加減ですが… &ref(tracker.inc.php.1.20.diff);を試してみてください。 -- [[ぱんだ]] &new{2004-05-07 (金) 20:48:55};
--もっといい方法を募集中です XD -- [[ぱんだ]] &new{2004-05-07 (金) 20:49:24};
-pukiwiki.orgに導入してみました。[[pukiwiki:雑談]] -- [[reimy]] &new{2004-05-07 (金) 22:08:31};
-なんか、すごく早くなりましたね。 -- [[upk]] &new{2004-05-08 (土) 15:05:55};
-[[BugTrack/588]]との合わせ技で、かなり効果が上がったみたい。 -- [[reimy]] &new{2004-05-08 (土) 15:27:27};
-副作用で、tracker_listが表示されなくなる(ページが真っ白になる)現象があったので、元に戻しました。 -- [[reimy]] &new{2004-05-15 (土) 13:47:18};

-結局、ぱんださんのパッチはCVSへ取り込まないのでしょうか?おそらくPukiwiki.orgでのホワイトアウトは、func.phpでfunction csv_implodeが定義されていなかった事が原因だったと思います。現に、僕のPukiwiki1.4.4では問題無く動いている様ですが…。このパッチでは解析後のデータがキャッシュされますけど、テーブル書式へ変換済、もしくはconvert_html済のデータがキャッシュできればもう少し高速化できる…かも。(ここまでやるには時間単位でのキャッシュ指定にする必要があるのかな?%%むしろページ単位でのキャッシュの実装を…%%) --  &new{2004-10-22 (金) 19:31:33};
--上記のパッチを試してますが、私の環境(Pukiwiki1.4.4 , FedoraCore2 + PHP4.3.8)ですと、tracker_listが%%表示されません。%% すいません、表示されないのは私の設定ミスのせいで、パッチ適用を適用したコードが動くことを確認しました。 -- [[jjyun]] &new{2004-10-23 (土) 08:50:53};
-[[ぱんだ]]さんによるパッチの件(2004-05)と、最近の話題(2004-09) がごっちゃになっていましたので、二つに分けました。 -- [[henoheno]] &new{2004-10-23 (土) 21:42:20};
-こちらの件は、実験的な雰囲気であるのと、実際に副作用が出た、というクレームが出ているのと、その副作用の原因追及が行われていないという事でしたので、まるごと避けています。 -- [[henoheno]] &new{2004-10-23 (土) 21:46:18};
-2004/09にスタートした(以下の)件のように、他にできる事があるならそれをきちんと行う、という方向の改善をまずお願いしたいところで、かつ、いたずらにオーバーヘッド(キャッシュ含む)を増やすのにはあまり賛成しませんが、こちら(diff)の件に中途半端な部分があって、それを明確にしてでもきちんと解決したいというアクションがあルならばもちろん歓迎します :) -- [[henoheno]] &new{2004-10-23 (土) 21:54:54};
-(余談へコメント) 標準機能としてページキャッシュを実現させようとすると、いつどのように更新すべきかを検知する仕組み、例えば dirty bit が必要で、それをを用意したとして、どのようにして dirty bit をonにさせるかを考えることになります。きちんと実現するならば、プラグイン機構もひっくるめて再設計しなければならないでしょうね -- [[henoheno]] &new{2004-10-23 (土) 21:58:00};

#comment
----
** コメント (状態ごとにページを分けるのはどうか) [#vfb93586]

-方向性が180度違う気もしますが、状態ごとにページを分けてしまうというのはどうでしょうか。 --  &new{2004-09-11 (土) 08:47:41};
--それなら質問だけ表示して完了とかは別のページでリンク貼るだけかなぁ。実質見るのは質問ですからね。 --  &new{2004-09-11 (土) 11:41:07};
-「特定の状態だけ表示できる」様にすれば、どちらも適えられそうですね。 -- [[henoheno]] &new{2004-09-11 (土) 12:04:07};
-- フィルター機能を使うと見やすくなるとは思いますが、現状だと下位層のページ内容を確認するindexのようなファイルがないので、1つ1つ見て振り分けるような方法しかないと思うのです。あくまで想像ですが、期待するほどあまり速くならないのでは?と思っています。(orgのような数百ページものコンテンツを作って確認したわけではないので、あくまで想像ですが) -- [[jjyun]] &new{2004-09-11 (土) 12:30:13};
-devのでよければ、送りますが(なんて書いてみるテスト) -- [[henoheno]] &new{2004-09-11 (土) 22:08:21};
-- すぐできるかどうかわかりませんが、テストデータとして提供していただけるのであれば、ページ生成時間がどの程度異なるのか確認してみますよ &wink;(でもちょっとデータ量が半端じゃなかったりして...とちょっと心配 &worried; ) -- [[jjyun]] &new{2004-09-11 (土) 22:40:22};
-今回の目的に必要なのは wiki ディレクトリだけなので、それだけであれば特に問題ないと思いますので、圧縮してお送りして%%本日のバックアップ作業に代えさせていただこうか%%、なんて思ったのですが、連絡先がわかりませんでしたのでメールか何かでアドレスをお教え下さい。 -- [[henoheno]] &new{2004-09-11 (土) 23:44:18};
-- http://sourceforge.jp/projects/pukiwiki/ ページから辿れる henohenoさんの紹介ページにありましたアドレスへ連絡先を送付しておきました。ご確認お願いします。 -- [[jjyun]] &new{2004-09-12 (日) 00:30:24};
-受け取りました。送りました。色々遊んでやって下さい。軽くできそうなところがあれば、ぜひ :) -- [[henoheno]] &new{2004-09-12 (日) 01:08:34};
-- ありがとうございます、頂きました。大雑把ですが確認してみた結果を以下にまとめまてみましたので御覧ください。⌣ -- [[jjyun]] &new{2004-09-12 (日) 11:34:18};
--コンテンツの内容(html)を作るのに、結構 時間やリソースががかかっているとは思いませんでした。 -- [[jjyun]] &new{2004-09-12 (日) 11:39:29};
-うほっ、いいtrackerの速度・・・。あんなに変わる物なのかぁ。 --  &new{2004-09-12 (日) 13:31:33};
-- そもそも違いが出るなんて思っていなかったので、私もびっくりです。自宅で使っているクライアントマシン上なので、参考値として見ていただければと思います。あと使用したtrackerの修正版は、公開中のスクリプトではなく、近日公開予定のVerのスクリプトで試しています。(速度改善のための修正をしたわけではないので、以前のでもさほどかわらないと思いますけど ⌣) -- [[jjyun]] &new{2004-09-12 (日) 13:50:06};
-メモリのオーバーヘッドが相当あるのではないかと思っています。 -- [[henoheno]] &new{2004-09-12 (日) 22:30:19};
-まだパッチは読んでおりませんが、フィルタリングを行うための機能を、うまく呼び出せる様にするCLIの部分をうまくすれば、結構価値が出そうですね。よかったよかった。 -- [[henoheno]] &new{2004-09-12 (日) 22:31:53};
-- 今回用いたスクリプト(Ver0.9)を私のサイトのところで公開しました。[[PukiWiki/1.4/ちょっと便利に/tracker_listでの表示方法のカスタマイズ]]経由でご確認ください。 -- [[jjyun]] &new{2004-09-13 (月) 01:27:06};
-こいつを.orgに実装させればより快適に!? --  &new{2004-09-16 (木) 08:18:54};
-この件、本家本元のぱんださんに確認をお願いしました([[開発日記/2004-09-14]])。そうですね。orgには向いていますね :) -- [[henoheno]] &new{2004-09-16 (木) 08:22:43};
-…というか、すでに[[jjyun]]さんのほうが詳しいような気がしますが :D -- [[ぱんだ]] &new{2004-09-16 (木) 19:31:31};
-- いえいえ、そんなことはありません。ぱんださんのコードを使ってPHPの勉強をさせてもらっているのです。((ただ、ちょっと今戸惑ってる部分があります。$config->config_name という部分がいくつか見受けられますが、Config class には config_name というメンバーはありませんよね,.もしかして間違い?! )) -- [[jjyun]] &new{2004-10-22 (金) 23:39:57};
-ポケットを叩いて、ビスケットが2つに割れたのです。あれ? -- [[henoheno]] &new{2004-09-16 (木) 20:44:03};
-結局、ぱんださんのパッチはCVSへ取り込まないのでしょうか?おそらくPukiwiki.orgでのホワイトアウトは、func.phpでfunction csv_implodeが定義されていなかった事が原因だったと思います。現に、僕のPukiwiki1.4.4では問題無く動いている様ですが…。このパッチでは解析後のデータがキャッシュされますけど、テーブル書式へ変換済、もしくはconvert_html済のデータがキャッシュできればもう少し高速化できる…かも。(ここまでやるには時間単位でのキャッシュ指定にする必要があるのかな?%%むしろページ単位でのキャッシュの実装を…%%) --  &new{2004-10-22 (金) 19:31:33};
--上記のパッチを試してますが、私の環境(Pukiwiki1.4.4 , FedoraCore2 + PHP4.3.8)ですと、tracker_listが%%表示されません。%% すいません、表示されないのは私の設定ミスのせいで、パッチ適用を適用したコードが動くことを確認しました。 -- [[jjyun]] &new{2004-10-23 (土) 08:50:53};
- (2004-05時点のパッチの話題は上に移動しました)
-こちらの件のステータスは、[[ぱんだ]]さんにお願いしたところまでですよ -- [[henoheno]] &new{2004-10-23 (土) 22:29:03};

#comment

-------------------
*** tracker_listの速度改善に対する、フィルター機能の有効性の検証 [#v560a915]

-各計測対象の紹介
|番号|調査対象|測定環境|備考|h
|0|bugtrack|PukiWiki.dev&br;PukiWiki 1.4.4/ PHP 4.1.2|測定時間 2004/09/12 06:50~|
|1|bugtrack|MyHost&br;PukiWiki 1.4.4/ PHP 4.3.8|OS:Fedora Core2|
|2|tracker default/no-filter|同上|memory_limit=8M→12M|
|3|tracker modified/no-filter|同上|memory_limit=8M→12M|
|4|tracker modified/完了,却下 を除外|同上|memory_limit=8M|

- 測定結果(単位はsec. ページ下に表示される HTML convert time の値です)
|CENTER:|RIGHT:|RIGHT:|RIGHT: |RIGHT: |RIGHT: |c
|測定回数|0:  |1:    |2:     |3:     |4:     |h
||>|bugtrack|>|>|tracker|
|対象ページ数 |670 |670 |670 |670 |154 |
|1回目| 5.532 |7.540 |32.931 |45.626 |18.181 |
|2回目| 5.569 |7.003 |35.853 |41.689 |16.489 |
|3回目| 6.202 |6.965 |37.294 |37.985 |17.992 |
|4回目| 5.000 |7.021 |28.893 |38.875 |13.471 |
|5回目| 6.447 |7.239 |43.580 |38.662 |16.869 |
|COLOR(blue):平均|COLOR(blue):5.750 |COLOR(blue):7.154 |COLOR(blue):35.710 |COLOR(blue):40.567 |COLOR(blue):16.600 |

-メモリ割り当ての失敗時のメッセージ
-- memory_limit = 8Mの時
 PHP Fatal error:  Allowed memory size of 8388608 bytes exhausted (tried to 
 allocate 48 bytes) in <pukiwiki-path>/lib/make_link.php on line 664, 
 referer: http://<test-locale>/index.php?cmd\=edit&page=BugTrack2
-- memory_limit = 10Mの時
 PHP Fatal error:  Allowed memory size of 10485760 bytes exhausted (tried to
 allocate 30683 bytes) in <pukiwiki-path>/lib/convert_html.php on line 79, 
 referer: http://<test-locale>/index.p\hp?cmd=edit&page=BugTrack2

- 参考:myHost のスペック
|項目|値|h
|BGCOLOR(lightgray):CPU info|BGCOLOR(lightgray):/proc/cpuinfo より抜粋|
|model name   | Celeron (Coppermine)|
|stepping     | 10 |
|cpu MHz      | 1102.815 |
|cache size   | 128 KB   |
|BGCOLOR(lightgray):Memory Info |BGCOLOR(lightgray):/proc/meminfo より抜粋|
|mem total    | 509036 kB|
|mem free     | 118848 kB|
-trackerのリスト表示がおかしくなるページが、散見されましたが正しくlist表記できるように修正してはいません。&br;以上の測定結果から、以下のように結論づけることができると思います。 -- [[jjyun]] &new{2004-09-12 (日) 11:19:14};
--bugtrack/bugtrack_listの方が速くリソースを消費しない
--tracker/tracker_listの方は、カスタマイズができる反面、リソースを消費し、処理速度も遅い。しかし一覧の対象となるページ数を抑えるよう適切なフィルタリングをかけることで、これらを改善することは可能


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.027 sec.

SourceForge