Envoy で HTTP Keep-Alive を無効にする

Envoyではデフォルトで Keep-Alive が有効になっているが、これを無効化したい場面があったので調べた。

方法

max_requests_per_connectionの値を1にすれば良い。

公式ドキュメントにはSetting this parameter to 1 will effectively disable keep alive.*1と書いてあるように、 keepalive に関するパラメータがあってそこをいじるのかと思いきやそういう設定はなくイディオムのようになっている。

余談

Envoy からコネクションが残っているかは統計のupstream_cx_active*2から確認できる。

コネクション周り結構調査が難しくて特にコンテナだとコネクション残ってるのかどうか判断がしにくいけど、 Envoy の統計情報をから確認できるの結構便利だった。