sysctlパラメーターが仮想マシンで機能していないようです。

sysctlパラメーターが仮想マシンで機能していないようです。

サーバーのパフォーマンスを調整しようとしています。そのためにnet.core.somaxconnnet.ipv4.tcp_max_syn_backlogなどのいくつかのsysctlパラメータをテストしたいと思いますnet.core.netdev_max_backlog

私の設定は次のとおりです。

  • nginx dockerコンテナを実行しているサーバーは、4vCPU静的ページを提供するテストWebサーバーとして機能します。

  • One 16vCPU、one 8vCPU、one4vCPUロードジェネレータとしてnginxサーバーでフレームワークを使用しています。locust

ネットワークサーバー仮想マシンのデフォルトのsysctlパラメータを使用すると、15kRPSを取得できます。合計をより高い値またはより低い値に変更しても、net.core.somaxconn結果は変更されませんでした。 RPSに設定したりしました。その後、キューがいっぱいになり、一部のパケットが破棄されたことを確認するために実行し、出力で同様の内容を予想しました。しかし、何も出力されません。net.ipv4.tcp_max_syn_backlognet.core.netdev_max_backlog115knetstat -s | grep LISTENsynaccept123456 SYNs to LISTEN sockets dropped

他のsysctlパラメータをテストしました。たとえばnet.ipv4.tcp_keepalive_timenet.ipv4.tcp_keepalive_probesおよびすべて0に設定しましたnet.ipv4.tcp_keepalive_intvl。ただし、実行後もnetstat -a | grep -i waitまだ多くの接続がアクティブにTIME_WAITなっていることがわかります。何が問題なの?助けてください?

関連情報