HAProxy で「重みの設定」を使用する方法

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#ハッシュタイプ

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

相対的な重みは 0 ~ 100% の範囲でのみ許可され、絶対的な重みは 0 ~ 256 の範囲で許可されます。

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

2) もう一つの質問は、set weightコマンドを次のように使用した場合です。

set weight web1 10.10.10.10 3
set weight web2 10.10.10.11 1

トラフィックの 75% が web1 に、25% が web2 に送られるということですか? トラフィックを比率で分割し、設定された重みで使用する方法を教えてください。

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

答え1

質問1:

ドキュメンテーション状態:

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

つまり、これは確かに「web1 に割り当てられた 50 のうちの 70%」を意味します。残りの 30% がどこに行くのかは、ドキュメントからは明らかではありませんが、削除できないため、web2 になるはずです。

質問2:

HAProxy ドキュメント状態:

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

つまり、web1 はトラフィックの 75% = 3/(1+3) を受け取り、web2 はトラフィックの 25% を受け取ることになります。

追加の質問:

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

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

この 2 つの質問が理解できません。もう少し詳しく説明していただけますか?

関連情報