どうも、Terraform を Teraterm に空目した小ネタのおばちゃまよ。(@inokara)
はじめに
HA Proxy の timeout なんちゃら色々と有り過ぎてわけわかんなくなっているのでとりあえず整理してみた。尚、タイムアウトの等の数字は特に指定しない場合には ms となる点に注意。
timeout について
以下はパラメータと説明。
パラメータ | 内容 | 設定可能なディレクティブ |
---|---|---|
timeout connect xxxx | HA Proxy からバックエンドサーバへの接続試行を待機する時間 | backend |
timeout client xxxx | クライアントとの HA Proxy の接続タイムアウト時間 | frontend |
timeout server xxxx | HA Proxy からバックエンドサーバーへの接続タイムアウト時間 | backend |
以下のように絵にしたものがあれば判りやすいのにと思うこの頃。
上記のようなイメージ。
timeout なんちゃらは他にもパラメータがあるので余裕があったら全部把握したい。
http-keep-alive について
ついでに http-keep-alive 周りもタイムアウトが設定出来るのでこちらも合わせて調べた。
- HAProxy はデフォルトで永続的な接続に関してはキープアライブモードで動作する
- 各接続において各リクエストとレスポンスを処理し応答の終わりと新しい要求の開始との間に接続アイドルを残す
- options http-keep-alive はこのキープアライブモードをクライアントとサーバー(HA Proxy)の間で有効にするオプション
以下は関連パラメータと説明。
パラメータ | 内容 | 設定可能なディレクティブ | メモ |
---|---|---|---|
options http-keep-alive | Keep Alive を有効にする | default / frontend /backend / listen | |
timeout http-request xxxx | HTTP リクエストの完了を待機する時間 | fdefault / frontend /backend / listen | Apache の Timeout をイメージすると良いかも |
timeout http-keep-alive xxxx | HTTP リクエスト完了後、新しい HTTP リクエストを待機する時間 | default / frontend /backend / listen | Apache の KeepAlive Timeout をイメージすると良いかも |
誰か作ってくれんかなって思いながら自分で作った。
こんな感じで。
timeout と http-request を設定する上での注意点
- timeout http-request < timeout client とならないように設定する
- timeout http-request が設定されていない場合には timeout client の値が利用される
はあ…(ため息
- 小ネタ、ドキュメント読めばええやんネタが続いてすいません
元記事は、こちら