今天监控突然报警,延迟过高,查看了一下(ssh卡到爆),发现nginx反向代理的一台Windows主机(IIS)占用了大部分下行流量(1MB/s~18MB/s),但此时nginx的上行带宽仅有200kB/s左右。临时关闭nginx后延迟复正常。
这令我非常不解:
1、代理服务器是千兆网卡,峰值带宽应该在100MB/s以上,十几兆的流量不应该拖慢服务器,延迟不会这么高(内网ping值>800ms)。(ps:正常状况下直接从服务器scp文件能达到50MB/s左右)
2、代理服务器下行带宽远大于上行带宽,说明有许多从backend接收的数据并没有发送出去,起先以为是缓冲区过大导致的,但将缓冲区改小后,故障依旧。
ps1:nginx配置:
user www-data;
worker_processes 8;
pid /var/run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 128k;
client_max_body_size 8m;
client_body_buffer_size 32k;
proxy_ignore_client_abort on;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 32k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
ps2:环境
backend(windows server 2012 R2 IIS 8.0)
proxy(ubuntu 12.04 nginx1.1.19)
ps3:
backend上活跃的文件都是1G左右的rar压缩文件
请各位帮忙分析一下,不甚感激.
Yifan Gao