在过去的3周里,我们一直在测试Nginx的负载平衡.目前,我们还没有成功处理超过1000个req/sec和18K活动连接.当我们得到上述数字时,Nginx开始挂起,并返回超时代码.获得响应的唯一方法是显着减少连接数.
我必须注意,我的服务器可以并且确实每天处理这种流量,我们目前使用简单的循环rubin DNS平衡.
我们正在使用具有以下硬件的专用服务器:
我们需要对运行Tomcat6的7台服务器进行负载平衡,并在窥视时处理超过2000 req/sec,处理HTTP和HTTPS请求.
运行Nginx的CPU消耗约为15%,而使用的RAM约为100MB.
我的问题是:
以下是我的配置文件:
nginx.conf:
user nginx;
worker_processes 10;
worker_rlimit_nofile 200000;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 10000;
use epoll;
multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log /var/log/nginx/access.log main;
access_log off;
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
reset_timedout_connection on;
gzip on;
gzip_comp_level …Run Code Online (Sandbox Code Playgroud)