nginx 网络层的优化
TCP三次握手四次挥手

系统层的优化,主动建立连接时的重试次数
net.ipv4.tcp_syn_retries = 6
建立连接时本地端口可用范围;手动可以tiaoz
net.ipv4.ip_local_port_range = 32768 60999
应用层建立连接超时时间
Syntax: proxy_connect_timeout time;
Default: proxy_connect_timeout 60s;
Context: http, server, location Syntax: proxy_connect_timeout time;
Default: proxy_connect_timeout 60s;
Context: stream, server
系统级别调整半连接的最大数量
net.ipv4.tcp_max_syn_backlog # SYN_RCVD状态连接的最大个数 net.ipv4.tcp_synack_retries #被动建立连接超时重试次数
服务器处理三次握手

如何应对SYN 攻击
攻击者短时间伪造不同IP地址的SYN报文,快速占满backlog队列,是服务器不能正常为用户提供服务
文件句柄数的上限
操作系统的全局设置
fs.file-max 操作系统可使用的最大句柄数
使用fs.file -nr 可以查看当前已分配、正在使用 、上限 设置限制用户 /etc/security/limits.conf root soft nofile 65535
root hard nofile 65535 限制进程
Syntax: worker_rlimit_nofile number;
Default: —
Context: main
设置worker进程最大并发连接数
Syntax: worker_connections number;
Default: worker_connections 512;
Context: events
TCPFast Open

系统层打开
net.ipv4.tcp_fastopen
0 :关闭
1 :作为客户端是可以使用
2:作为服务端是可以使用
3 :客户端服务端都可以使用
nginx进程里的配置
Syntax: listen address[:port] [fastopen=number];
Default: listen *:80 | *:8000;
Context: server fastopen=number
为防止带数据的SYN共击,限制最大长度,指定TFO队列最大长度
滑动窗口

TCP发送消息

TCP 接收消息

nginx接收body接收读操作两次超时设置
Syntax: client_body_timeout time;
Default: client_body_timeout 60s;
Context: http, server, location
nginx两次写操作超时设置
Syntax: send_timeout time;
Default: send_timeout 60s;
Context: http, server, location
以上四层读写超时指令
Syntax: proxy_timeout timeout;
Default: proxy_timeout 10m;
Context: stream, server
吞吐量优先启用Nagle算法
tcp_nodelay off 启用
低时延优先禁用
tcp_nodelay on 关闭
指令介绍
Syntax: tcp_nodelay on | off;
Default: tcp_nodelay on;
Context: http, server, location
四层的指令
Syntax: tcp_nodelay on | off;
Default: tcp_nodelay on;
Context: stream, server
nginx配置避免发送小报文
Syntax: postpone_output size;
Default: postpone_output 1460;
Context: http, server, location
TCP的keeplive
功能介绍:检测实际断掉的连接;用于维护与客户端之间的防火墙有活跃网络包
系统层面的控制
Syntax: lingering_close off | on | always;
Default: lingering_close on;
Context: http, server, location
off : 关闭
on: 由nginx判断,动用户请求未完成时启用功能,否则及时关闭连接
always:无条件启用该功能 Syntax: lingering_time time;
Default: lingering_time 30s;
Context: http, server, location
当该功能启用时,最长的读取用户请求内容的时长,达到后立即关闭连接 Syntax: lingering_timeout time;
Default: lingering_timeout 5s;
Context: http, server, location
启用该功能时,检测客户端是否仍然请求内容到达,若超时后没有请求数据,则立刻断开
当其他读写超时指令生效引发连接关闭时,通过发送RST立刻释放断开,内存等资源
Syntax: reset_timedout_connection on | off;
Default: reset_timedout_connection off;
Context: http, server, location
nginx 网络层的优化的更多相关文章
- Nginx并发访问优化
Nginx反向代理并发能力的强弱,直接影响到系统的稳定性.安装Nginx过程,默认配置并不涉及到过多的并发参数,作为产品运行,不得不考虑这些因素.Nginx作为产品运行,官方建议部署到Linux64位 ...
- Nginx 之六: Nginx十万并发优化
操作 操作 Nginx 之六: Nginx十万并发优化
- Nginx配置性能优化与压力测试webbench【转】
这一篇我们来说Nginx配置性能优化与压力测试webbench. 基本的 (优化过的)配置 我们将修改的唯一文件是nginx.conf,其中包含Nginx不同模块的所有设置.你应该能够在服务器的/et ...
- nginx错误界面优化和日志管理
nginx错误界面优化 在进行web访问的时候,经常会遇到网站打不开报错的情况,nginx默认的界面并不美观,我们可以通过重定向到自定义的错误页面,提升用户体验,比如淘宝的错误页面还有商品信息和广告. ...
- Nginx web服务优化 (一)
1.Nginx基本安全优化 a.更改配置文件参数隐藏版本 编辑nginx.conf配置文件增加参数,实现隐藏Nginx版本号的方式如下.在nginx配置文件nginx.conf中的http标签段内加入 ...
- nginx web服务优化
nginx基本安全优化 1. 调整参数隐藏nginx软件版本号信息 软件的漏洞和版本有关,我们应尽量隐藏或消除web服务对访问用户显示各类敏感信息(例如web软件名称及版本号等信息),这样恶意的用户就 ...
- Linux实战教学笔记38:企业级Nginx Web服务优化实战(下)
四,Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog,sns产品,这几个产品都有一个共同特点,就 ...
- Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)
一,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的.因此,我们应尽量隐 ...
- 企业级Nginx Web服务优化实战
web优化一览总结表 优化类型 优化说明 优化方法 安全优化 隐藏nginx版本信息优化 修改nginx配置文件实现优化 server_tokens off: 修改nginx版本信息优化 修改ngin ...
随机推荐
- 洛谷P1044栈(DP)
题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表. 栈有两种最重要的操作,即poppoppop(从栈顶弹出一个元素)和pushpushpush(将一个元素进栈) ...
- django-cors-headers
django-cors-headers介绍 一个Django应用程序,向响应头中添加跨域资源共享(CORS)头.这允许从其他来源向Django应用程序发出浏览器内请求,当然也可以自定义中间件然后添加响 ...
- vue天气查询
天气查询包括回车查询和点击查询两种功能 回车查询 1.按下回车(v-on+.enter) 2.查询数据(axios+接口+v-model) 3.渲染数据(v-for+arr) 点击查询 1.点击城市查 ...
- 【HTTP与HTTPS的区别】
目录 一.HTTP和HTTPS的基本概念 二.HTTP与HTTPS有何区别 三.HTTP与HTTPS的工作原理 四.HTTPS的优缺点 五.HTTP切换至HTTPS "超文本传输协议,即HT ...
- js 页面滚动到指定位置
当页面的长度比较长时,如果进行刷新页面,我们希望能够在刷新完成页面之后,能够停留在当前位置,而不是从头再手动滚动到当前位置. 那么这样的效果如何实现呢?下面开始简单描写(由于博客园不支持效果展示,所以 ...
- MindManager安装、激活
MindManager安装 MindManager激活
- Python - 运行流程图, call graph, 调用图
解决方案 pycallgraph(感觉直接用pycallgraph grahviz命令生成的图并不是我想要的) 如何去阅读并学习一些优秀的开源框架的源码? - mailto1587的回答 - 知乎 h ...
- [vue学习] 卡片展示分行功能简单实现
如图所示,实现简单的卡片展示分行功能. 分行功能较多地用于展示商品.相册等,本人在学习的过程中也是常常需要用到这个功能:虽然说现在有很多插件都能实现这个功能,但是自己写出来,能够理解原理,相信能够进步 ...
- word中如何删除一张空白表格
百度知道:https://baijiahao.baidu.com/s?id=1631677477148377412&wfr=spider&for=pc 当word中出现如下一张空白表格 ...
- js递归生成树形下拉菜单
需求:我需要把一个单表的数据转换成类似菜单那种如图所示:我呢需要把这个菜单树放入到下框里面去如图所示: 下面是实现思路:1.第一步1.1var afTypeJson=${afTypeJson}// 这 ...