sysctl 参数似乎无法在虚拟机上运行

sysctl 参数似乎无法在虚拟机上运行

我正在尝试调整我的服务器性能。为此,我想测试一些 sysctl 参数,例如net.core.somaxconnnet.ipv4.tcp_max_syn_backlognet.core.netdev_max_backlog

以下是我的设置:

  • 运行 nginx docker 容器的服务器4vCPU作为提供静态页面的测试 Web 服务器。

  • 16vCPU、一8vCPU、一作为我使用框架4vCPU在 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_time,net.ipv4.tcp_keepalive_probesnet.ipv4.tcp_keepalive_intvl全部设置为 0。但是在运行之后netstat -a | grep -i wait,我仍然可以看到很多连接都处于TIME_WAIT状态。有什么不对?你能帮我吗?

相关内容