nginx 上传文件到服务器丢包,从一起丢包故障来谈谈 nginx 中的 tcp keep-alive

本文介绍了nginx上传文件到服务器出现丢包的问题,通过分析nginx和网关间的tcp连接状态及抓包数据,发现由于tcp keep-alive设置导致的连接异常关闭。解决方案是调整nginx的`keepalive_timeout`参数,防止空闲连接过早关闭,从而避免丢包现象。
摘要由CSDN通过智能技术生成

一、故障

6b8bc991d9d06806696c118f63f2e069.png

基本架构如图所示,客户端发起 http 请求给 nginx,nginx 转发请求给网关,网关再转发请求到后端微服务。

故障现象是,每隔十几分钟或者几个小时不等,客户端就会得到一个或者连续多个请求超时错误。查看 nginx 日志,对应请求返回 499;查看网关日志,没有收到对应的请求。

从日志分析,问题应该处在 nginx 或者 spring-cloud-gateway 上。

nginx 版本:1.14.2,spring-cloud 版本:Greenwich.RC2。

nginx 主要配置如下:

[root@wh-hlwzxtest1 conf]# cat nginx.conf

worker_processes 8;

events {

use epoll;

worker_connections 10240;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

tcp_nopush on;

tcp_nodelay on;

keepalive_timeout 65;

#gzip on;

upstream d

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值