キープアライブはTCP上で正常に動作します。しかし、Unix Domain Socketsは私に奇妙な振る舞いを与えてくれます。私はカップルにこのような千件のリクエストを送信する場合:Nodejs Unixドメインソケットでキープアライブ
request.post('http://unix:/tmp/http.sock:/check', {
json: {
...
},
forever: true,
pool: {maxSockets: 10},
headers: {
'Host': '',
'Connection': 'keep-alive'
})
カーネルトレースは、2000のソケットが作成され(と閉じられることはありません)されている各要求のための1つを表示します。私は10個のソケットしか作成せず、必要に応じて再利用することを期待しています。
Unixソケットが有効に保たれ、TCPソケットと同じ方法で再利用されるように設定する方法はありますか? request
ドキュメントから
キープアライブは、リモート接続がタイムアウトしないようにするために使用されますが、UNIXソケットはコンピュータにとってローカルであり、OSは両端で何が起こっているかを知っています。したがって、ソケットにはキープアライブがありません。 – Rob