2017-10-12 21 views
0

異なる地域の2つのWebサーバー間で均等に負荷を分散するにはどうすればよいですか?中央サーバーは100%アイドル状態ですが、東サーバーと中央サーバーの両方が使い果たされます(60%CPU & 100%メモリ、およびスワッピング)。Google Cloud Load Balancerアルゴリズム:ラウンドロビン

DRの実践では、2つの異なる地域にサーバーを配置する必要があります。どのように負荷を均等に分散させるのですか? Googleではデフォルトでジオルーティングを使用していますが、これはGoogleには適していません。ありがとう!

答えて

1

HTTPロードバランシングは厳密な地理的ルーティングではありません。システムがある領域が過負荷であることを理解すると、次の領域にトラフィックがオーバーフローします。

ロードテストを実行し、バックエンドサービスのバランシング設定(balancingMode、capacityScalar、maxRatePerInstance、maxUtilizationなど)を調整して、システムがイーストサーバーに過負荷をかけていて、トラフィックを中央サーバーに送信することを確認することをおすすめします。

実例として、着信トラフィックの100 RPSが現れ、balancingMode = UTILIZATION maxUtilization = 0.8(デフォルト)を設定したとします。あなたのインスタンスは60%のCPUなので、最大の利用率に達していないので、システムは100RPSのトラフィックをすべて送信しています。

負荷テストを実行して、メモリが不足する前にサーバが80RPSのトラフィックを処理できることを発見し、そのCPUはメモリ集約型アプリケーションの信頼できる指標ではありません。 balancingMode = RATE、maxRatePerinstance = 80に変更します。その後、システムは最大80RPSをイーストサーバーに送信し、20サーバーはセントラルに送信し、両方のサーバーを適切に実行できます。

関連する問題