`
rq2_79
  • 浏览: 240267 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Nginx---linux的tcp优化

 
阅读更多

关于Nginx内核参数的优化:

  1. net.ipv4.tcp_max_tw_buckets = 6000 

timewait的数量,默认是180000。

  1. net.ipv4.ip_local_port_range = 1024 65000 

允许系统打开的端口范围。

  1. net.ipv4.tcp_tw_recycle = 1 

启用timewait快速回收。

  1. net.ipv4.tcp_tw_reuse = 1 

开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接。

  1. net.ipv4.tcp_syncookies = 1 

开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理。

  1. net.core.somaxconn = 262144 

web应用中listen函数的backlog默认会给我们内核参数的net.core.somaxconn限制到128,而Nginx内核参数定义的NGX_LISTEN_BACKLOG默认为511,所以有必要调整这个值。

  1. net.core.netdev_max_backlog = 262144 

每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。

  1. net.ipv4.tcp_max_orphans = 262144 

系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。如果超过这个数字,孤儿连接将即刻被复位并打印出警告信息。这个限制仅仅是为了防止简单的DoS攻击,不能过分依靠它或者人为地减小这个值,更应该增加这个值(如果增加了内存之后)。

  1. net.ipv4.tcp_max_syn_backlog = 262144 

记录的那些尚未收到客户端确认信息的连接请求的最大值。对于有128M内存的系统而言,缺省值是1024,小内存的系统则是128。

  1. net.ipv4.tcp_timestamps = 0 

时间戳可以避免序列号的卷绕。一个1Gbps的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种“异常”的数据包。这里需要将其关掉。

  1. net.ipv4.tcp_synack_retries = 1 

为了打开对端的连接,内核需要发送一个SYN并附带一个回应前面一个SYN的ACK。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK包的数量。

 

  1. net.ipv4.tcp_syn_retries = 1 

在内核放弃建立连接之前发送SYN包的数量。

  1. net.ipv4.tcp_fin_timeout = 1 

如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60秒。2.2 内核的通常值是180秒,你可以按这个设置,但要记住的是,即使你的机器是一个轻载的WEB服务器,也有因为大量的死套接字而内存溢出的风险,FIN- WAIT-2的危险性比FIN-WAIT-1要小,因为它最多只能吃掉1.5K内存,但是它们的生存期长些。

  1. net.ipv4.tcp_keepalive_time = 30 

当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时。以上就是对Nginx内核参数的详细介绍。

分享到:
评论

相关推荐

    nginx-http-flv-module-1.2.10(包含nginx-rtmp-module)

    使用Nginx-http-flv-module和nginx-rtmp-module创建的流媒体服务通常能很好地在各种操作系统和浏览器上运行,包括Windows、Linux、macOS,以及Chrome、Firefox、Safari等。对于不支持HLS的老旧浏览器,可以通过...

    lua-nginx-module-master.zip

    4. **协同工作**:Lua-nginx-module可以与其他Nginx模块协同工作,比如与`ngx_http_rewrite_module`进行重写规则,与`ngx_http_upstream_module`进行负载均衡,甚至可以利用`lua_socket_tcp`库与外部服务进行TCP通信...

    nginx-1.6.2.tar.gz nginx-1.6.2下载

    - **工作原理**:Nginx 使用事件驱动模型,如epoll(Linux)或kqueue(FreeBSD),处理请求时采用非阻塞I/O,使得在处理大量并发连接时表现出色。 - **反向代理**:Nginx 可以作为反向代理,接收来自客户端的请求...

    nginx-1.10.2

    7. **安全与优化**:为了保障服务器安全,应定期更新Nginx到最新版本,避免已知漏洞,并根据实际需求调整配置以优化性能。 **Nginx的常用模块** - **HTTP模块**:如rewrite模块用于URL重写,gzip模块用于压缩输出...

    nginx-1.2.6+openssl-1.0.2c+pcre-8.36+zlib-1.2.8【nginx全套linux环境搭建包】.rar

    在IT行业中,构建一个高效的Web服务器环境是至关重要的,...同时,Nginx的性能优化也是重要的一环,如调整worker进程数、开启TCP快速打开等。通过这个全套环境搭建包,你可以快速创建一个安全、高效的Web服务器环境。

    reading-code-of-nginx-1.9.2_y123456yz.tar.gz

    1. **事件处理模块**:Nginx基于epoll(Linux)、kqueue(FreeBSD)等高效事件模型,实现非阻塞I/O,保证高并发性能。 2. **网络连接模块**:处理TCP/UDP连接,包括监听套接字、连接套接字等。 3. **HTTP模块**:...

    nginx-1.13.2.tar.gz

    主要依赖于操作系统提供的epoll(Linux)或kqueue(FreeBSD)等高效I/O多路复用技术。 2. **反向代理**:Nginx 可以作为反向代理服务器,隐藏后端真实服务器的IP地址,提供负载均衡和故障隔离功能,提高服务的可用...

    nginx-1.24.0

    Nginx 1.24.0支持HTTP/2协议,该协议提高了网络效率,减少了延迟,通过单个TCP连接实现多路复用,优化了资源加载速度,提升了用户体验。 3. **TLS安全增强** 在此版本中,Nginx支持最新的TLS协议版本(如TLSv1.3...

    nginx1.20.0-linux安装包

    总结,安装Nginx 1.20.0在Linux上是一个涉及多个步骤的过程,包括安装依赖、下载源码、配置编译、启动服务以及后续的配置和优化。了解并熟练掌握这些步骤,对于管理和维护高效的Web服务器至关重要。

    nginx-1.25.5.tar.gz

    ".tar.gz" 表明这是一个经过tar打包并用gzip压缩的文件,是Linux和类Unix系统中常见的源代码分发方式。通过解压这个文件,我们可以得到Nginx的源代码,然后可以根据需要进行配置和编译,以适应特定的运行环境。 ...

    nginx-1.14.2.rar

    - 通过调整worker_processes、worker_connections等配置,可以优化Nginx的性能。 - 使用ngx_brotli模块可以启用Brotli压缩,进一步优化静态资源的传输效率。 7. **监控与调试** - 使用Nginx自带的status模块,...

    keepalived-1.2.18+nginx-1.6.2

    Nginx支持配置TCP Keepalive参数,如`keepalive_timeout`和`keepalive_requests`,以优化连接复用。 4. **VRRP**:虚拟路由冗余协议,是Keepalived的核心功能,允许在一组路由器之间共享一个虚拟IP地址。当主路由器...

    nginx-1.14.2 源码

    总之,Nginx 1.14.2 源码揭示了其高效、灵活的设计思路,深入研究源码可以帮助我们更好地理解和优化 Nginx 的性能,解决实际问题。对于希望深入了解网络服务器原理或想要开发自定义 Nginx 模块的开发者来说,学习 ...

    nginx-1.7.6 windows

    `rewrite` 指令允许 Nginx 对 URL 进行重写,常用于优化 SEO 或处理动态 URL。 11. **FastCGI 支持** Nginx 可以与 FastCGI 进程管理器配合,处理 PHP、Perl、Python 等动态语言的请求,通过 `fastcgi_pass` 指令...

    Nginx-windows 下安装配置 Nginx 详解 - CSDN博客1

    本文将详细介绍如何在Windows...随着网站规模的扩大,你可能需要进一步优化配置,如调整缓存策略、增加SSL支持以及更复杂的负载均衡策略。Nginx的强大之处在于其灵活性和可扩展性,可以根据具体需求进行定制化配置。

    nginx-1.6.3的windows版本软件下载.txt

    Nginx的[ X ]是一个HTTP引擎和反向代理服务器,邮件代理服务器,和...更多关于“Nginx的基础入门篇”、“下载及安装步骤命令”、“完整配置调试教程和实例”、“性能优化技巧”等请参加在线电子教程“Nginx配置大全”。

    nginx优化--pdf说明文档

    **Nginx优化——突破十万并发的内核参数优化** Nginx,作为一个高性能的HTTP和反向代理服务器,广泛应用于各类网站和应用程序的负载均衡和静态内容处理。当面临高并发访问时,Nginx的性能优化显得尤为重要。本文将...

    nginx-1.3.14 源代码

    在 Linux 环境下,编译 Nginx 1.3.14 的步骤如下: 1. **获取源码**:首先,从 Nginx 官方网站或通过 Git 克隆下载源代码到本地。 2. **依赖检查**:确保系统已安装必要的依赖库,如 pcre (Perl Compatible Regular...

    nginx-1.7.8源码

    1. **事件模型**: Nginx 支持多种事件模型,如epoll(Linux)、kqueue(FreeBSD、OpenBSD 和 macOS)、event ports(Solaris)等,用于高效地处理并发连接。 2. **多进程/线程模型**: Nginx 使用主进程+工作进程的...

    nginx Linux版.zip

    **Nginx在Linux系统中的应用与配置** ...总结,Nginx在Linux上的部署涉及到一系列步骤,包括安装依赖、编译安装、配置服务器、管理服务以及安全性和性能优化。正确配置和使用Nginx,能为你的网站提供高效、稳定的服务。

Global site tag (gtag.js) - Google Analytics