主要针对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是一款高性能、轻量级的Web服务器和反向代理服务器,广泛应用于互联网领域,尤其在处理高并发连接和静态内容分发上表现出色。本文将深入探讨Nginx的性能特点、优化策略以及配置方法。 ##...
LNMP指的是Linux, Nginx, MySQL, PHP的服务器架构,在Web服务领域广泛应用,其中Nginx是一个高性能的HTTP和反向代理服务器。本文主要介绍了如何对LNMP架构下的Nginx服务器进行调优实践。 首先,Nginx服务器的调优...
6. **系统内核参数调优**: 内核参数直接影响系统行为。例如,调整中断处理、进程调度、内存管理等相关参数,可以显著改善特定工作负载下的系统性能。 7. **服务与应用优化**: 对于特定服务(如Apache、Nginx、...
Nginx是一款高性能的HTTP和反向代理服务器,它的访问控制和参数调优对于保障服务稳定性和提升性能至关重要。在Nginx中,访问控制主要涉及限制特定IP、用户或HTTP请求方法,而参数调优则包括配置网络连接、缓冲区、...
在IT领域,Linux性能调优是一项至关重要的任务,它涉及到操作系统、硬件配置、数据库和应用程序等多个层面。以下是对这些知识点的详细阐述: 首先,我们关注的是"操作系统优化"。这通常包括调整系统参数、内核参数...
Linux系统性能调优是系统管理员和开发人员经常需要进行的操作,目的是使系统运行更加流畅,提高系统的响应速度和资源利用率。以下总结了在Linux环境下进行性能调优时可以采取的一些技巧: ### 系统监控与分析技巧 1...
【Nginx性能测试与优化】是针对Nginx服务器进行性能评估和调优的过程,以便提高其处理HTTP请求的能力和资源利用率。本篇主要涉及了两个测试工具——ab和wrk,以及如何在CentOS7上编译安装Nginx 1.16.1稳定版,并使用...
6. **性能分析与调优**:掌握工具如strace、gprof、perf等,用于定位系统瓶颈,通过调整系统参数、优化代码或选择合适的硬件来提升性能。 7. **安全与权限**:理解Unix权限模型,熟悉SELinux、AppArmor等强制访问...
### Nginx性能优化指南 #### 一、引言 Nginx是一款广泛使用的高性能Web服务器及反向代理服务器,以其高效稳定著称,在互联网领域占据着重要地位。本文档旨在提供一系列Nginx性能优化策略,帮助管理员们更好地利用...
在实际应用中,系统管理员和开发者通常会根据应用的具体需求和服务器的性能指标,进行细致的调优和安全加固,以确保提供最佳的用户体验和系统安全。一键安装包提供的仅仅是一个基础的部署起点,真正的稳定和性能优化...
在Linux服务器环境中,Nginx是一款非常流行的高性能Web服务器和反向代理服务器,因其轻量级、稳定性和高效性而受到广泛青睐。本教程将详细讲解如何在没有网络连接的情况下,离线安装Nginx。 首先,你需要获取Nginx...
七、性能调优 1. 工作模式:选择合适的事件模型,如epoll(Linux)或kqueue(FreeBSD)。 2. 进程与线程:调整`worker_processes`和`worker_connections`,平衡CPU和网络资源利用。 3. Keepalive设置:适当延长或...
调优手段包括修改内核参数、使用性能分析工具(如vmstat、iostat、top、htop等)来分析系统瓶颈并进行针对性优化。 4. 集群应用的构建与实施:集群应用是指通过多个计算机的协同工作,实现高可用性、高性能和高可靠...
- **第3章 Nginx的基本配置与优化**:介绍Nginx配置文件结构、主要指令以及如何进行性能调优,包括打开文件描述符限制、缓存设置等。 - **第5章 Nginx与JSP、ASP.NET、Perl的安装与配置**:虽然标题提到与Resin集成...
5. **Nginx 性能调优** - **连接数优化**:调整`worker_processes`和`worker_connections`设置,增加并发连接数。 - **缓存策略**:合理配置缓存大小和过期时间,避免不必要的后端请求。 - **日志优化**:日志...
在生产环境中,还需要关注Nginx的性能调优,包括但不限于内存分配策略、多进程/线程模型、连接超时设置等。此外,监控Nginx的日志文件,对错误和警告信息进行分析,也是运维工作的重要部分。 总结,Nginx 1.9.9的...
6. **日志管理和分析**:除了实时监控,Nginx-GUI还可能提供日志查看和分析功能,帮助用户了解访问模式,识别潜在的安全风险,或者进行性能调优。 7. **升级与备份**:对于Nginx的升级和配置备份,GUI工具通常会有...
此外还包括了一些提高网络性能的系统级配置,比如修改sysctl内核参数等。最后一步是将Nginx服务加入到/etc/rc.local文件里实现自动加载。 适用人群:针对有经验的Linux运维工程师或开发者,对于那些想要深入理解和...
虽然原始内容主要聚焦于PyQt4,但考虑到标题与描述中的广泛主题,本文还将涵盖Linux的基础知识、服务器搭建、系统管理、性能调优及集群应用等内容。 ### Linux基础知识 #### 操作系统概念 Linux是一种开源的操作...
此外,还需要关注性能调优,例如调整Nginx和Tomcat的并发连接数、内存分配等参数,以适应不同的业务需求。 总之,Nginx+Tomcat的组合提供了强大的Web服务解决方案,适用于需要处理大量动态请求和高并发场景的企业级...