使用 nginx、两个工作程序和 1024 个连接进行 ab 测试会失败吗?

使用 nginx、两个工作程序和 1024 个连接进行 ab 测试会失败吗?

我正在开发机器(P8700 双核 2.53Ghz,4Gb RAM,运行 Xubuntu x64)上使用 nginx 1.4.1 和 Node.js 0.10.5 进行一些测试。不幸的是,我无法处理ab100000 个请求和 1000 个并发请求。在执行了总数的一小部分后,我收到此错误:

apr_socket_recv:对端重置连接(104)

共计 17641

配置文件对我来说似乎没问题(2个工作程序,每个工作程序最多处理1024个连接):

worker_processes 2;

events {
    worker_connections  1024;
}


http {
    include           mime.types;
    default_type      application/octet-stream;
    sendfile          on;
    keepalive_timeout 65;

    upstream node_upstream {
        server 127.0.0.1:3000;
        server 127.0.0.1:3001;
    }

    server {
        listen       80;
        server_name  localhost;

        location / {
            proxy_redirect off;
            proxy_pass     http://node_upstream;
        }
    }
}

工作人员在线(ps aux | grep nginx):

root     20833  0.0  0.0  22404  1292 ?        Ss   22:08   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/balancer.conf
nobody   21022  0.7  0.0  22916  1784 ?        S    22:15   0:03 nginx: worker process                                             
nobody   21023  0.7  0.0  22916  1784 ?        S    22:15   0:03 nginx: worker process 

我认为这与我的操作系统安装无关:我可以使用 Node.js 集群进行相同的测试,并且一切顺利。使用 nginx 和 完成测试ab -n 10000 -c 100

相关内容