nginx ロードバランシング serverのパラメータまとめ
書式
upsteram appserver { server address1 [parametaers]; server address2 [parametaers]; }
serverに指定可能なパラメータ
name | value type | default |
---|---|---|
weight | number | 1 |
max_fails | number | 1 |
fail_timeout | time | 10s |
backup | no value | |
down | no value |
weight
- サーバーの比重設定 例
upstream astamuse_app { server app1.example.com weight=5; server app2.example.com weight=2; server app3.example.com; }
この場合、8リクエストごとに、一番上に5、真ん中に2、一番下に1リクエスト割り振られる
max_fails
- fail_timeoutで指定された時間内にサーバーに対する通信の最大試行回数
- この回数を超えた場合、サーバーは停止状態として扱われる
- 0はこの機能を無効
- 失敗はproxy_next_upstream,fastcgi_next_upstreamで定義される(http_404エラーは除く)
fail_timeout
2つの意味をもつ
- 時間内にmax_failsで指定された回数、サーバーとの通信が失敗すると、サーバーが停止状態とする
- サーバーが停止状態とみなしている時間。停止状態から設定した時間経過すると、稼働状態とみなすようになる。
backup
- バックアップサーバーの印
- バックアップサーバー以外が全て停止、またはビジーの時のみこのサーバーが使用される
down
- サーバーが常に停止しているものとして扱う