Perlbal::Manual::HighPriority - Perlbal の high/low 優先度 キューイング システム
Perlbal 1.78.
このドキュメントはPerlbalの high/low 優先度キューイングシステムについて説明します。
Perlbalは3つのキューを持ちます: 通常、高優先度、および低優先度。
名前が示唆するように、通常はリクエストは通常キューに行きFIFO順に片付けられ、高優先度のリクエストは通常の前にくる異なるキューに行き、低優先度は高または通常のキューが空になった時に実行されるキューに行きます。
一言で言えば、Perlbalが次にどのリクエストを処理するかを決める時にはいつも、最初に高優先度キューの中のリクエストを探します; もし空であれば、次に通常キューの中を探します; そして、通常キューも空であれば、最後に低優先度キューの中をを探します。
リクエストが高優先度キューに行くべきかを決めるためにPerlbalはクッキーを使うことができます(設定可能)。
これを設定するパラメータは、 high_priority_cookie
および high_priority_cookie_contents
です; 前者はクッキーでチェックするフィールドの名前を定義し、後者は高速キューに行くきっかけとなるそのフィールド内の内容を定義します。
SET myservice.high_priority_cookie = name_of_the_field SET myservice.high_priority_cookie_contents = required_content_on_that_field
より明確な例です:
SET myservice.high_priority_cookie = highpriority SET myservice.high_priority_cookie_contents = yes
the Perlbal::Plugin::Highpri manpage は、URIまたはHostによってリクエストを高優先度にすることをサポートします。the Perlbal::Manual::Hooks manpageの下のmake_high_priority
もチェックしてください。
高優先度キューが本当に忙しい場合は、標準キューがリソースの枯渇により影響を受けることがあります。queue relief システムはこれを避けるのに役立ちます。queue_relief_size
以上の接続が標準キューにあると、新しくやってきたバックエンドにはqueue_relief_chance
パーセントで高優先度キューの代わりに標準優先度キューからリクエストを取る機会が与えられます。
SET web_proxy.queue_relief_size = 2000 SET web_proxy.queue_relief_chance = 30 # 0-100, in percent
the Perlbal::Manual::Hooks manpage, the Perlbal::Plugin::HighPriority manpageの中の make_high_priority
および make_low_priority
。