Здравствуйте.
Недавно столкнулся с проблемой, есть Apache Tomcat 6, отдает страницы со
скоростью 5500 req/sec (100 параллельных клиентов)
Если перед ним поставить nginx на той же машине, то скорость падает до
2000 req/sec.
Получается nginx с proxy_pass более чем в 2 раза снижает скорость, мне
это кажется странным.
Так и должно быть?
Крутил различные параметры конфига nginx - не помогает. В error.log
ошибок при бенчмарке не появляется. Бенчмарк запускается по 100 Mb сети с
другой машины, в сеть не упирается.
Бенчмарк вызывается следующей коммандой: httperf --server 192.168.0.10 --port
80 --uri / --num-conn 100 --num-call 100 --rate 100 --timeout 5
Машинка: AMD Athlon 64 X2 Dual Core Processor 5200+, 2Gb RAM
nginx.conf:
user nobody;
worker_processes 3;
worker_rlimit_core 2000M;
error_log logs/error.log;
pid logs/nginx.pid;
events {
worker_connections 50000;
use epoll;
}
http {
server_names_hash_max_size 10000;
server_names_hash_bucket_size 256;
client_max_body_size 5m;
log_format IP '$remote_addr';
server_tokens off;
reset_timedout_connection on;
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 70;
access_log off;
recursive_error_pages on;
upstream bpbackends {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://bpbackends;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
}
C уважением,
Александр.