`

Linux & Nginx 性能参数调优

阅读更多
主要针对linux 文件句柄以及网卡参数调优

修改linux最大文件句柄数
执行
ulimit -a
查看open files  参数

修改linux系统参数。vi /etc/security/limits.conf 添加

*  soft  nofile  65536

*  hard  nofile  65536

修改以后保存,注销当前用户,重新登录,执行ulimit -a ,ok ,参数生效了

nginx

1. use epoll; 使用epoll的I/O模型 如:

events
{
   use epoll;
   worker_connections XXXX;
}


2. worker_processes 8;

nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数 (如,2个四核的cpu计为8)。

3. worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

为每个进程分配cpu,上例中将8 个进程分配到8 个cpu,当然可以写多个,或者将一
个进程分配到多个cpu。

4. worker_rlimit_nofile 65535;



5. worker_connections 65535;

每个进程允许的最多连接数, 理论上每台nginx 服务器的最大连接数为worker_processes*worker_connections。

6. keepalive_timeout 60;

keepalive 超时时间。

7. client_header_buffer_size 4k;

客户端请求头部的缓冲区大小,这个可以根据你的系统分页大小来设置,一般一个请求头的大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。


8.open_file_cache max=65535 inactive=20s;


这个将为打开文件指定缓存,默认是没有启用的,max指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓存。

9.open_file_cache_valid 30s;


这个是指多长时间检查一次缓存的有效信息。

10.open_file_cache_min_uses 1;


11.open_file_cache指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive时间内一次没被使用,它将被移除


关于Linux内核参数的优化:

vi /etc/sysctl.conf

net.ipv4.tcp_max_tw_buckets = 6000

timewait 的数量,默认是180000。

net.ipv4.ip_local_port_range = 1024 65000

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

net.ipv4.tcp_tw_recycle = 1

启用timewait 快速回收。

net.ipv4.tcp_tw_reuse = 1

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

net.ipv4.tcp_syncookies = 1

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

net.core.somaxconn = 262144

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

net.core.netdev_max_backlog = 262144

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

net.ipv4.tcp_max_orphans = 262144

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

net.ipv4.tcp_max_syn_backlog = 262144

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

net.ipv4.tcp_timestamps = 0

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

net.ipv4.tcp_synack_retries = 1

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

net.ipv4.tcp_syn_retries = 1

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

net.ipv4.tcp_fin_timeout = 1

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

net.ipv4.tcp_keepalive_time = 30

当keepalive 起用的时候,TCP 发送keepalive 消息的频度。缺省是2 小时。
分享到:
评论

相关推荐

    nginx性能与调优

    **Nginx性能与调优** Nginx是一款高性能、轻量级的Web服务器和反向代理服务器,广泛应用于互联网领域,尤其在处理高并发连接和静态内容分发上表现出色。本文将深入探讨Nginx的性能特点、优化策略以及配置方法。 ##...

    LNMP Nginx服务器调优实践

    LNMP指的是Linux, Nginx, MySQL, PHP的服务器架构,在Web服务领域广泛应用,其中Nginx是一个高性能的HTTP和反向代理服务器。本文主要介绍了如何对LNMP架构下的Nginx服务器进行调优实践。 首先,Nginx服务器的调优...

    linux性能调优一些整合文档打包

    6. **系统内核参数调优**: 内核参数直接影响系统行为。例如,调整中断处理、进程调度、内存管理等相关参数,可以显著改善特定工作负载下的系统性能。 7. **服务与应用优化**: 对于特定服务(如Apache、Nginx、...

    Nginx访问控制与参数调优的方法

    Nginx是一款高性能的HTTP和反向代理服务器,它的访问控制和参数调优对于保障服务稳定性和提升性能至关重要。在Nginx中,访问控制主要涉及限制特定IP、用户或HTTP请求方法,而参数调优则包括配置网络连接、缓冲区、...

    优化Linux性能调优

    在IT领域,Linux性能调优是一项至关重要的任务,它涉及到操作系统、硬件配置、数据库和应用程序等多个层面。以下是对这些知识点的详细阐述: 首先,我们关注的是"操作系统优化"。这通常包括调整系统参数、内核参数...

    nginx性能测试与优化1

    【Nginx性能测试与优化】是针对Nginx服务器进行性能评估和调优的过程,以便提高其处理HTTP请求的能力和资源利用率。本篇主要涉及了两个测试工具——ab和wrk,以及如何在CentOS7上编译安装Nginx 1.16.1稳定版,并使用...

    高性能Linux服务器构建实战:运维监控、性能调优与集群应用.pdf

    《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》是一本深入探讨Linux服务器管理、优化和集群技术的专业书籍。在当前信息化社会中,Linux操作系统因其开源、稳定、高效的特点,在服务器领域占据着重要...

    高性能Linux服务器构建实战:运维监控、性能调优与集群应用

    本书《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》显然是针对那些在Linux环境下工作的高级运维工程师的专业书籍。它专注于从基础的系统安装和配置到服务的管理和维护,再到更深层次的原理和性能优化...

    Linux高性能服务器编程电子版

    6. **性能分析与调优**:掌握工具如strace、gprof、perf等,用于定位系统瓶颈,通过调整系统参数、优化代码或选择合适的硬件来提升性能。 7. **安全与权限**:理解Unix权限模型,熟悉SELinux、AppArmor等强制访问...

    Nginx性能优化指南

    ### Nginx性能优化指南 #### 一、引言 Nginx是一款广泛使用的高性能Web服务器及反向代理服务器,以其高效稳定著称,在互联网领域占据着重要地位。本文档旨在提供一系列Nginx性能优化策略,帮助管理员们更好地利用...

    linux服务器,nginx离线安装包

    在Linux服务器环境中,Nginx是一款非常流行的高性能Web服务器和反向代理服务器,因其轻量级、稳定性和高效性而受到广泛青睐。本教程将详细讲解如何在没有网络连接的情况下,离线安装Nginx。 首先,你需要获取Nginx...

    实战Nginx取代Apache的高性能Web服务器_文字版

    七、性能调优 1. 工作模式:选择合适的事件模型,如epoll(Linux)或kqueue(FreeBSD)。 2. 进程与线程:调整`worker_processes`和`worker_connections`,平衡CPU和网络资源利用。 3. Keepalive设置:适当延长或...

    高性能Linux服务器构建实战

    调优手段包括修改内核参数、使用性能分析工具(如vmstat、iostat、top、htop等)来分析系统瓶颈并进行针对性优化。 4. 集群应用的构建与实施:集群应用是指通过多个计算机的协同工作,实现高可用性、高性能和高可靠...

    nginx于resin集成(nginx安装)

    - **第3章 Nginx的基本配置与优化**:介绍Nginx配置文件结构、主要指令以及如何进行性能调优,包括打开文件描述符限制、缓存设置等。 - **第5章 Nginx与JSP、ASP.NET、Perl的安装与配置**:虽然标题提到与Resin集成...

    nginx-1.9.9.tar.zip

    在生产环境中,还需要关注Nginx的性能调优,包括但不限于内存分配策略、多进程/线程模型、连接超时设置等。此外,监控Nginx的日志文件,对错误和警告信息进行分析,也是运维工作的重要部分。 总结,Nginx 1.9.9的...

    Linux高性能服务器编程清晰

    10. **内核参数调整**:理解并适当地调整Linux内核参数,如网络、内存、调度等方面的参数,可以显著提升服务器性能。 通过阅读"Linux高性能服务器编程"这本书籍和研究提供的源码,读者将能够深入理解上述知识点,并...

    循序渐进linux:基础知识、服务器搭建、系统管理、性能调优、集群应用

    虽然原始内容主要聚焦于PyQt4,但考虑到标题与描述中的广泛主题,本文还将涵盖Linux的基础知识、服务器搭建、系统管理、性能调优及集群应用等内容。 ### Linux基础知识 #### 操作系统概念 Linux是一种开源的操作...

    Nginx+tomcat 64位免安装

    此外,还需要关注性能调优,例如调整Nginx和Tomcat的并发连接数、内存分配等参数,以适应不同的业务需求。 总之,Nginx+Tomcat的组合提供了强大的Web服务解决方案,适用于需要处理大量动态请求和高并发场景的企业级...

    Nginx安装包.zip

    Nginx是一款高性能的Web服务器和反向代理服务器,常用于搭建互联网服务,与MySQL数据库和PHP编程语言配合,形成LAMP(Linux、Apache、MySQL、PHP)或LNMP(Linux、Nginx、MySQL、PHP)架构,为网站提供稳定、高效的...

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

    5. **Nginx 性能调优** - **连接数优化**:调整`worker_processes`和`worker_connections`设置,增加并发连接数。 - **缓存策略**:合理配置缓存大小和过期时间,避免不必要的后端请求。 - **日志优化**:日志...

Global site tag (gtag.js) - Google Analytics