我用的一直是亚马逊的 ec2,昨天,我把我正式站 rails 应用,由 passenger 改成了 puma。在日活没有多少变化的情况下,负载均衡网卡的流量图发生了显著的变化。我不明白为啥 incoming 流量会比昨天高很多,也比 outgoing 的流量高很多。请问这跟我切换成 puma 有什么关系?
2018-05-05 的流量
2018-05-06 的流量
我是在 15:20 切换成 puma 的。可以说流量图立竿见影发生了变化。求教社区各位大神,这变化是好的么? 客户端对网络请求有超时重试的机制。难道是用 puma 之后,很多请求被放到队列里面。没有及时返回,造成客户端重发请求么?
这个道理说不通,外部来的流量并没有真的增加
看这个图,流量正好是翻倍了,我估计他 proxy_pass 也走了 eth0 这张网卡
我们现在服务器的架构是 1 个 ELB(外部)->2 个 NGINX(做反向代理,跨域等控制)->1 个 ELB(内部)->多台 api 服务器的 PUMA 问题中发的图是其中 1 台 nginx 的网卡流量图 nginx 的配置如下
server {
listen 80;
server_name api.xxxxxx.com;
access_log logs/api.xxxxxx.com_access.log main;
error_log logs/api.xxxxxx.com_error.log;
location / {
resolver 172.16.0.2 valid=10s;
resolver_timeout 5s;
set $elb_backend "http://internal-PE-FF-Prod-ELB-Internal-01-xxxxxx.eu-central-1.elb.amazonaws.com:3000";
proxy_pass $elb_backend;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
if ($http_user_agent ~ (Baiduspider|Sogou|Python-urllib|Googlebot)) {
return 403;
}
}
location /nginx-status {
stub_status on;
access_log off;
error_log off;
allow 127.0.0.1;
}
}
看起来原来 incoming 和 outgoing 的流量是 1:1 的样子,改成 puma 之后,变成 2:1 了,这都很奇怪啊。
看看两台 Nginx 是否都是同一个症状,outgoing 变化不大,incoming 翻倍的话,可以排查一波是不是有大量重试了
重发请求的可能不是客服端,而是你们的外部 ELB
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
感觉这几行都有点问题,尤其是强制 Upgrade