BugTrack/2083
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*DoSに耐えそうなonlineプラグイン [#m6f9c05d]
-ページ: [[BugTrack2]]
-投稿者: [[henoheno]]
-優先順位: 普通
-状態: 完了
-カテゴリー: プラグイン
-投稿日: 2005-06-26 (日) 19:55:17
-バージョン:
--------------
#contents
** 修正 [#u10436f7]
- [[cvs:plugin/online.inc.php]] (1.9)
- [[cvs:wiki/50756B6957696B692F312E342F4D616E75616C2F506C...
Overhaul: O(N) => O(1).
* 1000 unique-host-get-3-pages causes 3000 writes => 100...
* Four crawler-get-300-pages causes 1200 writes => 4 w...
* 100 online plugin in a page causes 100 writes => 1 w...
**メッセージ [#s446ecca]
従来のonlineプラグインにボトルネック(常時ファイルに書き込...
*** onlineプラグインとは [#l1f828c4]
- 既定の時間(デフォルトでは5分)にアクセスしたホスト(IPア...
- そのために、専用のファイルにホストと、アクセス時刻(秒)...
** 従来の処理 [#t1898b67]
- [[cvs:plugin/online.inc.php?rev=1.8&content-type=text/p...
O(N): 負荷は総アクセス数(ユニークユーザー数 x 平均アクセ...
* ユニークなホスト 1000 台がそれぞれ 3 ページにアクセ...
3000 回のファイル書き込みが発生する
* 4 台のWebクローラーが300ページにアクセスした場合、
1200 回のファイル書き込みが発生する
* onlineプラグインを100個設置すると
100 回のファイル書き込みが発生する
- アクセスしたホスト(IPアドレス)と、アクセスした際の時刻(...
- 最後に必ずファイルをもう一度読み込み、その行数を返す ->...
- 呼ばれた時に必ず動作する -> 複数個設置すれば複数回動作...
*** 問題点: 負荷がユニークユーザー数 x 平均アクセス数に比...
- ファイル書き込みをアクセスの度に(常に)行うため、遅い
- ファイルロック(排他)を常に行うため、プロセスの待ち行列...
- onlineプラグインを複数個設置した/された場合に複数回動作...
** 今回の処理 [#oadb10e9]
- [[cvs:plugin/online.inc.php?rev=1.9&content-type=text/p...
O(1): 負荷はユニークユーザー数に比例する
* ユニークなホスト 1000 台がそれぞれ 3 ページにアクセ...
1000 回のファイル書き込み(と2000回のファイル読み込み...
* 4 台のWebクローラーが300ページにアクセスした場合、
4 回のファイル書き込み(と1196回のファイル読み込み)が...
* onlineプラグインを100個設置すると
1 回のファイル書き込み(と99回のメモリ上のキャッシュ...
- 既定の時間が経過していないホストの個数を数える。その中...
- 動作済みであれば、キャッシュしたその結果を返す
*** 改善点: 負荷はユニークユーザー数に比例する [#saca03c8]
- ファイル書き込みは最初にアクセスした時にのみ行われ、既...
- ファイルロック(共有)の頻度が多くなるため、プロセスの待...
- onlineプラグインを何個設置しようが、内部は一度しか動作...
----
-ああ、マニュアルも直さなくては・・・ -- [[henoheno]] &ne...
-- [[PukiWiki/1.4/添付文書]]にて反映されました -- [[henoh...
//#comment
終了行:
*DoSに耐えそうなonlineプラグイン [#m6f9c05d]
-ページ: [[BugTrack2]]
-投稿者: [[henoheno]]
-優先順位: 普通
-状態: 完了
-カテゴリー: プラグイン
-投稿日: 2005-06-26 (日) 19:55:17
-バージョン:
--------------
#contents
** 修正 [#u10436f7]
- [[cvs:plugin/online.inc.php]] (1.9)
- [[cvs:wiki/50756B6957696B692F312E342F4D616E75616C2F506C...
Overhaul: O(N) => O(1).
* 1000 unique-host-get-3-pages causes 3000 writes => 100...
* Four crawler-get-300-pages causes 1200 writes => 4 w...
* 100 online plugin in a page causes 100 writes => 1 w...
**メッセージ [#s446ecca]
従来のonlineプラグインにボトルネック(常時ファイルに書き込...
*** onlineプラグインとは [#l1f828c4]
- 既定の時間(デフォルトでは5分)にアクセスしたホスト(IPア...
- そのために、専用のファイルにホストと、アクセス時刻(秒)...
** 従来の処理 [#t1898b67]
- [[cvs:plugin/online.inc.php?rev=1.8&content-type=text/p...
O(N): 負荷は総アクセス数(ユニークユーザー数 x 平均アクセ...
* ユニークなホスト 1000 台がそれぞれ 3 ページにアクセ...
3000 回のファイル書き込みが発生する
* 4 台のWebクローラーが300ページにアクセスした場合、
1200 回のファイル書き込みが発生する
* onlineプラグインを100個設置すると
100 回のファイル書き込みが発生する
- アクセスしたホスト(IPアドレス)と、アクセスした際の時刻(...
- 最後に必ずファイルをもう一度読み込み、その行数を返す ->...
- 呼ばれた時に必ず動作する -> 複数個設置すれば複数回動作...
*** 問題点: 負荷がユニークユーザー数 x 平均アクセス数に比...
- ファイル書き込みをアクセスの度に(常に)行うため、遅い
- ファイルロック(排他)を常に行うため、プロセスの待ち行列...
- onlineプラグインを複数個設置した/された場合に複数回動作...
** 今回の処理 [#oadb10e9]
- [[cvs:plugin/online.inc.php?rev=1.9&content-type=text/p...
O(1): 負荷はユニークユーザー数に比例する
* ユニークなホスト 1000 台がそれぞれ 3 ページにアクセ...
1000 回のファイル書き込み(と2000回のファイル読み込み...
* 4 台のWebクローラーが300ページにアクセスした場合、
4 回のファイル書き込み(と1196回のファイル読み込み)が...
* onlineプラグインを100個設置すると
1 回のファイル書き込み(と99回のメモリ上のキャッシュ...
- 既定の時間が経過していないホストの個数を数える。その中...
- 動作済みであれば、キャッシュしたその結果を返す
*** 改善点: 負荷はユニークユーザー数に比例する [#saca03c8]
- ファイル書き込みは最初にアクセスした時にのみ行われ、既...
- ファイルロック(共有)の頻度が多くなるため、プロセスの待...
- onlineプラグインを何個設置しようが、内部は一度しか動作...
----
-ああ、マニュアルも直さなくては・・・ -- [[henoheno]] &ne...
-- [[PukiWiki/1.4/添付文書]]にて反映されました -- [[henoh...
//#comment
ページ名: