Я провожу несколько тестов с nginx 1.4.1 и Node.js 0.10.5 на своей машине разработки (P8700 Dual Core 2.53Ghz, 4Gb RAM под управлением Xubuntu x64). К сожалению, я не могу ab
с 100000 запросов с 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
.