web-dev-qa-db-ja.com

HAProxyで「ウェイトの設定」を使用する方法

こんにちは私はhaproxy.cfgでHAProxyサーバーを構成して、2つのサーバー間のトラフィックフローのバランスを取りました。

server web1 10.10.10.10 weight 50
server web2 10.10.10.11 weight 50

テストの目的で、重みを動的に設定する必要があるため、この記事で説明されているようにset weight <backend>/<server> <weight>[%]コマンドを使用しています http://cbonte.github.io/haproxy-dconv/configuration-1.4.html# hash-type

1)彼らが言及した文書で

相対的な重みは0から100%の間でのみ許可され、絶対的な重みは0から256の間で許可されます。

パーセンテージ値が70%のweb1に設定された重みを使用する場合、web1(サーバーで最初に構成されている)トラフィックに割り当てられた50が渡されることを意味しますか?合格しますか?

2)別のクエリは、setweightコマンドを次のように使用する場合です。

set weight web1 10.10.10.10 3
set weight web2 10.10.10.11 1

それは、web1へのトラフィックの75%とweb2へのトラフィックの25%を意味しますか?トラフィックを比率で分割し、設定された重みで使用する方法。

可能であれば、トラフィックを分割するために絶対重みを使用する方法を教えてください。答えてくれてありがとう。

1
susil95

質問1:

ドキュメント の状態:

値が「%」記号で終わる場合、新しい重みは最初に構成された重みに相対的です。

つまり、「webに50を割り当てた場合」の70%を意味します。他の30%がどこに行くかは、ドキュメントからは明らかではありませんが、ドロップできないため、web2である必要があります。

質問2:

HAProxyドキュメント の状態:

「重み」パラメーターは、他のサーバーに対するサーバーの重みを調整するために使用されます。すべてのサーバーは、その重みに比例する負荷を受け取りますすべての重みの合計に対してしたがって、重みが大きいほど、負荷は大きくなります。デフォルトの重みは1で、最大値は256です。

つまり、はい、web1はトラフィックの75%= 3 /(1 + 3)を受信し、web2はトラフィックの25%を受信することを意味します。

追加の質問:

トラフィックを比率で分割し、設定された重みで使用する方法。

可能であれば、トラフィックを分割するために絶対重みを使用する方法を教えてください。

私はこれらの2つの質問を理解していません。少し詳しく教えていただけますか?

1
Tommiie