Article delegate-ja/144 of [1-251] on the server localhost:7119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A143@delegate-ja.ML_>]
Newsgroups: mail-lists.delegate-ja

[DeleGate-Ja] Re: REJECTの行数
14 Jul 2008 04:05:19 GMT ysato@delegate.org (Yutaka Sato)
The DeleGate Project

In message <_A143@delegate-ja.ML_> on 07/14/08(11:32:15)
you "Hidemi Mohri" <pfyaabrv6-mxhgu442rwxw.ml@delegate.org> wrote:
 |東京女子医科大学 毛利と申します。
 |
 |いつもdelegateにはお世話になっております。
 |
 |この度、delegateを使用してアクセス制限をかけることになりました。
 |台数が1500台程度あり、一行ごとに、
 |REJECT="XXX.XXX.XXX.XXX"
 |とIPアドレスを記述しております。
 |希望通りの動作はするのですがサーバが「高負荷」となりサービスの提供自体がままならない状態となってしまいます。
 |
 |記述方法での回避策はございますでしょうか。

まず、上記の設定で起動できているという事に、何点か疑問があります。
REJECTパラメタは、REJECT=protocol:server:client という形式ですので、
実際の記述は上とは別のものなのでしょうね。また、REJECTのというより
DeleGateのコマンド引数の最大数は1024なのですが、これもconfig.hの
変更などで回避されているのかも知れません。また、多数のIPアドレスを
指定するとDeleGateの起動時にDNSの検索で非常に遅くなることがあります
が、これも"-"を前置するなどによって回避されているのかも知れません。

さて、アクセス制御のためのアドレスのマッチングは単純サーチなので、
かなり遅いとは言えますが、それでも通常のCPUの速度であれば無視できる
程度の場合がほとんどです。

最初に考えられる「高負荷」の原因は、DeleGateがアクセスを禁止している
クライアントからのアクセスを繰り返し受けた際に「応答の遅延」を行なって
いることによるものです。この場合、LOGFILE中には
"doDelay: delaying reject*5 (4/60second) client-host.domain" という
ようなメッセージが記録され、(Unixの場合)psで見ると
"DeleGate -{mmm+nnn:client-host.domain}[(reject:5)http://server]-Pxxxx"
のようなDeleGateプロセスが見えます。
このようなDeleGateプロセスが多数になると、見かけの負荷(ロードアベレージ)
は高くなり、実際のサービス処理はほとんど行なわれない(CPU使用率はあまり
高くない)状態になります。
この状況を避ける一番簡単な方法は、このDeleGateによる「応答の遅延」を
行なわないことです。そのためには、
DELAY=reject:0
とすると良いでしょう。

これ以外の原因であるかもしれませんが、それはプロセスの実行状況等を
見る必要があります。いくつか回避策はありますが、それはDeleGateの
バージョンによります。

                   9 9  
┌─┐┬┌──┬┐ //\^^ ( e ); {Do the more with the less -- B. Fuller}
├─┤│└─┐│ / 877m\_<   >_ <URL:http://www.delegate.org/delegate/>
┴ └┴──┘┴──────────────────────────────
佐藤豊@情報技術研究部門.産業技術総合研究所(独立行政法人)

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V