PONCOTSU

インフラ領域を主にあれしてます

nginxの負荷分散手法(1) 重み付け

nginxでは、リバースプロキシ機能を使って、負荷分散を行なうことができる。
主なやり方は3つ。

  1. 重み付けによる負荷分散
  2. 稼働系と待機系
  3. 接続数による負荷分散

今回は、 1. 重み付けによる負荷分散 について。
設定方法は簡単。
upstreamコンテキストでまとめた複数のバックエンドサーバにweightオプションと重みパラメータをつけるだけ。

upstream backend {
  server xxx.xxx.xxx.xxx weight=3;
  server yyy.yyy.yyy.yyy weight=2;
  server zzz.zzz.zzz.zzz weight=1;
}

この設定で、

  • xxx.xxx.xxx.xxx サーバは 全アクセスの3/6 の割合を捌くこととなる
  • yyy.yyy.yyy.yyy サーバは 全アクセスの2/6 の割合を捌くこととなる
  • zzz.zzz.zzz.zzz サーバは 全アクセスの1/6 の割合を捌くこととなる