我已将 nginx 设置为负载平衡器,可将代理请求反向发送到 2 个 Apache 服务器。我已经使用 ab 对设置进行了基准测试,并且每秒收到大约 35 个请求,请求分布在 2 个后端服务器之间(不使用 ip_hash)。令我困惑的是,如果我直接通过 ab 查询任一后端服务器,我每秒会收到大约 50 个请求。
我在 ab 中尝试了许多不同的值,最常见的是 1000 个请求和 100 个并发连接。
知道为什么分布在 2 个服务器上的流量会导致每秒请求数比直接命中更少吗?
附加信息:
我已经尝试了 1 到 8 之间的 worker_processes 值,1024 到 8092 之间的 worker_connections 值,并且还尝试了 keepalive 0 和 65。
我的主要 conf 目前看起来像这样:
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
worker_rlimit_nofile 8192;
events {
worker_connections 2048;
use epoll;
}
http {
include /etc/nginx/mime.types;
sendfile on;
keepalive_timeout 0;
tcp_nodelay on;
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)"; …Run Code Online (Sandbox Code Playgroud)