nginx优化: timeout超时配置
一,为什么要做连接超时设置?
nginx在保持着与客户端的连接时,要消耗cpu/内存/网络等资源,
如果能在超出一定时间后自动断开连接,
则可以及时释放资源,起到优化性能、提高效率的作用
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,keepalive的超时时长:keepalive_timeout
1,keepalive的作用:
HTTP 的 KeepAlive 模式:
webserver 在处理完一个请求后保持这个 TCP 连接的状态仍然是打开。
如果再次接收到来自此客户端的其它请求,
服务端会使用这个未关闭的连接,而不是再新建一个连接
2,keepalive的配置:
keepalive_timeout 60 45;
两个参数分别是:
nginx服务的超时时间(默认值是75s,建议设置为60秒)
nginx在给浏览器的响应header信息中的超时时间
注意,第二个参数设置之后才会在浏览器端出现keepalive一项:
如图:
3,nginx给header的超时信息并不是肯定会得到浏览器的执行
4,keepalive_timeout的值应该大于client_body_timeout
三,客户端header的超时时长:client_header_timeout
client_header_timeout 15s;
默认值是60s
客户端向服务端发送一个完整的 request header 的超时时间
如果60s内没有收到完整的http request header,则为超时
如果客户端超时,Nginx 返回 HTTP 408(Request Timed Out)。
四,客户端body的超时时长:client_body_timeout
client_body_timeout 15s;
默认值是60s
客户端向服务端发送 request body 的超时时间
如果连续的60s内没有收到客户端的1个字节,则表示超时
如果客户端超时,Nginx 返回 HTTP 408(Request Timed Out)。
五,向客户端发送数据超时时长:send_timeout
send_timeout 15s;
默认值是60s
send_timeout 指定客户端的响应超时时间。
这个设置指的是在这段时间内,客户端没有读取任何数据,nginx就会关闭连接.
六,如果有大文件上传时需配置哪个指定?
有大文件上传时,需要指定body的最大值
client_max_body_size 50m;
这个指定的默认值是1M,基本上不可能满足使用需求
如果需要上传较大的文件,在这里指定一个最大值
这里指定文件最大是50MB
七,查看nginx的版本:
[root@centos8 conf.d]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v
nginx version: nginx/1.18.0
nginx优化: timeout超时配置的更多相关文章
- nginx中的超时配置
nginx.conf配置文件中timeout超时时间设置 client_header_timeout 语法 client_header_timeout time默认值 60s上下文 http serv ...
- Nginx服务优化及优化深入(配置网页缓存时间、日志切割、防盗链等等)
原文:https://blog.51cto.com/11134648/2134389 默认的Nginx安装参数只能提供最基本的服务,还需要调整如网页缓存时间.连接超时.网页压缩等相应参数,才能发挥出服 ...
- Nginx服务器性能优化与安全配置实践指南
转载自:https://www.bilibili.com/read/cv16151784?spm_id_from=333.999.0.0 1.引言 1.1 目的 为了更好的指导部署与测试艺术升系统ng ...
- nginx反向代理的配置优化
作者:守住每一天 blog:liuyu.blog.51cto.combbs:bbs.linuxtone.orgmsn:liuyubj520#hotmail.comemail:liuyu105#gmai ...
- Nginx超时配置
Nginx超时配置 1.client_header_timeout 语法client_header_timeout time 默认值60s 上下文http server 说明 指定等待client发送 ...
- timeout超时时长优化和hystrix dashboard可视化分布式系统
在生产环境中部署一个短路器,一开始需要将一些关键配置设置的大一些,比如timeout超时时长,线程池大小,或信号量容量 然后逐渐优化这些配置,直到在一个生产系统中运作良好 (1)一开始先不要设置tim ...
- CentOS6.5 Nginx优化编译配置[续]
继续上文CentOS6.5 Nginx优化编译配置本文记录有关Nginx系统环境的一些细节设置,有关Nginx性能调整除了配置文件吻合服务器硬件之前就是关闭不必要的服务.磁盘操作.文件描述符.内核调整 ...
- [效果不错] nginx 高并发参数配置及linux内核参数优化,完整的内核优化设置。PHP-FPM高负载解决办法。
背景:对vps小资源的实践中对,https://justwinit.cn/post/7536/ 的再优化,再实践,再优化,特别是Nginx,PHP,内核: 零)Nginx: error_log /da ...
- nginx优化配置大全
由于面试被问到nginx优化做过哪些 后来发现,其实做过的也不少,忘了的更不少,因此写个博客记录一下(里面有一些内容来源于其他作者). 配置文件样例为生产环境样例. 1.nginx基本优化 安装方式有 ...
随机推荐
- 【原创】Linux虚拟化KVM-Qemu分析(三)之KVM源码(1)
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: KVM版本:5.9 ...
- windows和linux开启防火墙时允许特定IP和端口
windows 1.进入高级安全Windows Defender防火墙,新建规则中选择自定义 2.直接下一步 3.设置协议类型.本地端口选择和端口号 4.设置允许哪些IP访问这个端口,不设置则默认任何 ...
- python 3 break 循环控制
人类的本质是一个复读机
- Git使用教程与基本原理和Sourcetree基本使用探微
什么是GIT Git是一个强调速度的分布式版本控制软件和源代码管理系统(SCM,source code management).Git最初是由Linus Torvalds为内核开发而设计的管理软件.自 ...
- mini logger for c++
水平太菜,最近捣鼓这个 log,折腾了好一会.由于之前都是用 std::cout,不能满足同时输出到屏与文件的目的,故经过一番搜索,在stackoverflow 找到了答案,现总结如下: 头文件 lo ...
- command三国杀开发日记20200915
一句话进展 完善了程序结构,分离.c和.h 搭建了6个阶段函数 实现了玩家摸牌 封装实现了日志打印函数 日志打印 想要区分日志等级,包括DEBUG.INFO.WARN.ERRRO.PANIC,提供统一 ...
- C语言汇总3
16-18 1.常量 整型常量:1: 2: 3: 实型常量(小数):单精度常量[3.14],双精度常量(默认情况下)[10.1f] 字符型常量 ' 5 ',只要在双引号的任意的唯一一个字符就为字符型常 ...
- springboot、Thymeleaf、国际化的简单使用
1.项目体系结构 (1)知识体系 springboot:省去了很多繁琐的配置,如:视图解析器.前端控制器等 thymeleaf:获取controller数据逼能够进行展示 集合:用于存储数据,此练习没 ...
- 数组如何在ElasticSearch中索引
一.简介 在ElasticSearch里没有专门的数组类型,任何一个字段都可以有零个和多个值.当字段值的个数大于1时,字段类型就变成了数组. 下面以视频数据为例,介绍ElasticSearch如何索引 ...
- linux学习(十一)linux安装nginx
一.前言 由于本地练手的小demo用的是vue+spring boot来玩的,所以部署的时候想着用Nginx来实现反向代理[即请求转发,解决前后端分离的跨域请求问题],既然要用,那么首先得在服务器上面 ...