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 ...
随机推荐
- Go项目结构
1. go项目工程结构 配置好工作目录后,就可以编码开发了,在这之前,我们看下go的通用项目结构,这里的结构主要是源代码相应地资源文件存放目录结构. 1.1 gopath目录 gopath目录就是我们 ...
- py1
python 下载安装 https://python.org python解释性语言 python数据结构 *输入输出 print(12,34,56,end='',sep='*') input() ...
- 前端之CSS基础篇
CSS介绍 什么是CSS? CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). CSS ...
- Ubuntu安装MySQL密码初始化问题
在Ubuntu上使用sudo apt-get install mysql-server mysql-common 命令安装MySQL以后,安装过程中没有提示输入密码.然后使用mysql -u root ...
- bootstrap的pillbox使用
使用bootstrap的cameo模版,搭建了一个cms系统,使用pillbox做显示的时候,出现点击×失败的问题. 分析了一下pillbox这个控件的使用方法. pillbox的样例在cameo/f ...
- P&R 4
Floorplan 要做好fp需要掌握哪些知识和技能? 通常遇到fp问题大致的debug步骤和方法有哪些? 如何衡量fp的QA? 通常FP是做PR 最关键也最具技术含量的一个环节.相对于后续的PR步骤 ...
- allegro 16.6 铜皮显示问题
Setup-->User Preference-->display-->opengl-->staic-shapes_fill_solid打勾.可以将栅格铜皮改为实铜, Setu ...
- 日期格式在ios中的兼容性
在IOS中支持 2017/3/2 这种格式的日期 不支持2017-3-2日期 /** * 返回兼容ios.android的日期时间格式 * @param dateTime String * @retu ...
- jvm01
hotspot:是jvm的核心组件(或者名称),jvm 需要对class文件进行编译成cpu能直接运行的代码.hotspot会对频繁使用的class代码进行缓存,不会再次编译,类似于缓存 client ...
- 在虚拟机安装centos7
因为工作需要,要经常用到虚拟机,以I前老让别人给装,可是老问人家也不好,自己整理一份比较适合小白用的教程,有点繁琐: 一.工具:VMware CentOS7 的 ISO 文件 二.开始安装 ...