当前位置: 首页 > news >正文

nginx响应超时upstream timed out (110: Connection timed out) while reading response header from upstream

本文介绍了解决Nginx代理超时的问题及优化网络吞吐量的方法。通过调整配置如proxy_connect_timeout、proxy_read_timeout等参数,可以有效提升Nginx性能。

 问题描述

  • 解决方法
  • 提高nginx网络吞吐量buffers优化指令说明
  • nginx代理超时配置
  • nginx缓存区大小设置

 

问题描述

后台server服务响应时间正常,但是请求没有打到服务器,在nginx很慢才看到error日志,如下:

2018/07/26 10:17:42 [error] 45762#0: *7489 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 10.2.127.6, server: et_dev.rong360.com, request: “GET /data/names HTTP/1.1”, upstream: “uwsgi://127.0.0.1:8528”, host: “et_dev.rong360.com”, referrer: “http://et_dev.rong360.com/static/html/index.html”

解决方法

添加或修改nginx反向代理超时时间,如下:

server {listen       80;server_name  XXX.rong360.com;large_client_header_buffers 4 16k;     # 读取大型客户端请求头的缓冲区的最大数量和大小client_max_body_size 300m;     #设置nginx能处理的最大请求主体大小。client_body_buffer_size 128k;  #请求主体的缓冲区大小。 proxy_connect_timeout 600;proxy_read_timeout 600;proxy_send_timeout 600;proxy_buffer_size 64k;proxy_buffers   4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;……location / {uwsgi_send_timeout 600;        # 指定向uWSGI传送请求的超时时间,完成握手后向uWSGI传送请求的超时时间。uwsgi_connect_timeout 600;   # 指定连接到后端uWSGI的超时时间。uwsgi_read_timeout 600;        # 指定接收uWSGI应答的超时时间,完成握手后接收uWSGI应答的超时时间。……}

提高nginx网络吞吐量buffers优化指令说明

large_client_header_buffers
此指令规定了用于读取大型客户端请求头的缓冲区的最大数量和大小。 这些缓冲区仅在缺省缓冲区不足时按需分配。 当处理请求或连接转换到保持活动状态时,释放缓冲区。
client_max_body_size此指令设置NGINX能处理的最大请求主体大小。 如果请求大于指定的大小,则NGINX发回HTTP 413(Request Entity too large)错误。 如果服务器处理大文件上传,则该指令非常重要。client_body_buffer_size此指令设置用于请求主体的缓冲区大小。 如果主体超过缓冲区大小,则完整主体或其一部分将写入临时文件。 如果NGINX配置为使用文件而不是内存缓冲区,则该指令会被忽略。 默认情况下,该指令为32位系统设置一个8k缓冲区,为64位系统设置一个16k缓冲区。 该指令在NGINX配置的http,server和location区块使用。

nginx代理超时配置

proxy_connect_timeout
默认值60s, nginx连接到后端服务器的连接超时时间,发起握手等候响应超时时间。
proxy_read_timeout连接成功后,等候后端服务器响应时间。其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)。proxy_send_timeout后端服务器数据回传时间,就是在规定时间之内后端服务器必须传完所有的数据。

注:nginx使用proxy模块时,默认的读取超时时间是60s。

nginx缓存区大小设置

proxy_buffer_size
nginx可从服务器一次接收的最大数据大小
proxy_buffers该指令设置缓冲区的大小和数量,从被代理的后端服务器取得的响应内容,会放置到这里. 默认情况下,一个缓冲区的大小等于内存页面大小,可能是4K也可能是8K,这取决于平台。proxy_busy_buffers_sizeproxy_busy_buffers_size不是独立的空间,他是proxy_buffers和proxy_buffer_size的一部分。nginx会在没有完全读完后端响应的时候就开始向客户端传送数据,所以它会划出一部分缓冲区来专门向客户端传送数据(这部分的大小是由proxy_busy_buffers_size来控制的,建议为proxy_buffers中单个缓冲区大小的2倍),然后它继续从后端取数据,缓冲区满了之后就写到磁盘的临时文件中。proxy_max_temp_file_size和proxy_temp_file_write_size临时文件由proxy_max_temp_file_size和proxy_temp_file_write_size这两个指令决定。
proxy_temp_file_write_size 是一次访问能写入的临时文件的大小,默认是proxy_buffer_size和proxy_buffers中设置的缓冲区大小的2倍,Linux下一般是8k。
proxy_max_temp_file_size 指定当响应内容大于proxy_buffers指定的缓冲区时, 写入硬盘的临时文件的大小. 如果超过了这个值, Nginx将与Proxy服务器同步的传递内容, 而不再缓冲到硬盘. 设置为0时, 则直接关闭硬盘缓冲.

示例

proxy_buffer_size 4k;   #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k;   #proxy_buffers缓冲区,网页平均在32k以下的设置
proxy_busy_buffers_size 64k;   #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k;   #设定缓存文件夹大小,大于这个值,将从upstream服务器传
 
http://www.jsqmd.com/news/25917/

相关文章:

  • 2025年碳化铬堆焊耐磨板厂家最新推荐:堆焊耐磨板/碳化铬耐磨板/定制耐磨板/复合耐磨板/高硬度耐磨板/耐冲击耐磨板/汇森增材——耐用性与定制化双优之选
  • 抖音防封搭建方案,青否数字人提供全套的防封方案,能够进行稳定直播带货!
  • 2025年河北电信业务增值许可证培训权威推荐榜单:增值电信经营许可证/电信与信息服务业务经营许可证/电信业务许可证源头公司精选
  • docker-compose常用命令
  • 浅谈 FHQ-Treap
  • 2025 年天津保安公司最新推荐榜,技术实力与市场口碑深度解析
  • 接口自动化测试项目实战day1
  • 打破视频壁垒:视频融合平台EasyCVR如何实现多路视频监控上屏的高效管理?
  • MySQL MVCC:通过 ReadView与 undolog版本链 分析读提交RC和可重复读RR的原理 - 教程
  • upstream timed out (110: Connection timed out) while reading response header from upstream
  • Halcon算法——Hough变换
  • 2025 年不锈钢管源头厂家最新推荐排行榜:覆盖焊管、花纹管、菱形管、工业管等品类,结合协会测评数据精选优质品牌
  • 2025年挖泥船生产商权威推荐榜单:清淤船/挖沙船/绞吸船源头厂家精选
  • 99%的企业都不知道GEO搜索优化怎么做,讯灵AI来解答
  • 开了 8 年母婴店,靠微擎守住了 20000 会员的信任,再也不怕数据泄露
  • 建筑全场景安全监测 “无死角”!思通数科 AI 卫士多模态大模型覆盖文明施工、基坑与消防
  • 实况足球8下载安装教程(图文步骤 + 全流程配置指南)
  • SQL优化必备脚本:Oracle获取绑定变量的字面SQL文本
  • 20251029周三日记
  • 基于 Word 模板占位符的动态文档生成实践(源码+保姆版)
  • 坤驰科技荣膺国家级专精特新“小巨人”企业
  • 读书笔记:Oracle组合分区:像俄罗斯套娃一样管理数据
  • 自动对焦技术:TGV视觉检测方案中的关键
  • 红外热像仪 热成像相机 即插即用多场景适配
  • 详细介绍:K8s学习笔记(十一) service
  • vn.py的日志问题
  • Oracle故障处理:create table 引起select语句hang住出现library cache lock事件
  • OSI中七层模型
  • 2025 年西安苹果手机维修公司最新推荐榜,聚焦技术实力与用户口碑深度解析
  • Awesome GitHub Copilot:超级定制化AI编程助手工具集