这是我的问题。我使用nginx作为负载均衡器。我有3个实例作为后端。我只改变了
events
{
worker_connections 2048;
multi_process on
use epoll;
}
我将Linux系统的ulimit更改为65536。 现在我正在进行负载测试。负载生成器将向前端nginx发送许多请求。它会将它们分发到3个后端实例。如果我使用一个后端实例直接连接到负载生成器。我可以获得5000 tps。如果我使用nginx作为负载均衡器并连接到3个实例作为后端。预热后tps仅为7000。我在命令行和浏览器中检查状态
LAST_ACK 1
CLOSE_WAIT 3
ESTABLISHED 75
CLOSING 1
SYN_SENT 4
TIME_WAIT 2514
Active connections: 54
server accepts handled requests
4555 4555 448929
Reading: 0 Writing: 3 Waiting: 51
似乎活动连接远小于2048,并且在nginx实例中使用的CPU利用率和内存都很低。有人可以帮我解决这个问题。非常感谢你。 此外,如果我删除使用epoll。结果是相同的,7000。