nginx学习笔记(2)---nginx配置文件中优化相关的参数
来源:互联网 发布:凯立德修改端口工具 编辑:程序博客网 时间:2024/06/05 02:54
nginx是一个基于模块设计的应用,它的配置文件也是基于各模块来进行配置的,如:events{}模块,http{}模块,server{}模块等。
这里不对各个配置逐一说明,只针对性能相关的参数设置(最大并发数优化设置、处理能力优化设置)做一些说明。
worker_processes 4;# 设置工作进程的数量。nginx是采用的异步非阻塞事件处理模型,一个进程在短时间内可以响应大量的请求。# 建议值应该小于等于CPU的数量,设置过大增加进程切换的开销,反而会有负面的效果。worker_cpu_affinity 0001 0010 0100 1000# 这个参数可以将工作进程绑定到特定CPU上,避免进程在CPU间切换的开销# 例如,8内核4进程时的设置方法 worker_cpu_affinity 00000001 00000010 00000100 10000000worker_rlimit_nofile 655350# 每进程最大可打开文件描述符数量(linux上文件描述符比较广义,网络端口、设备、磁盘文件都是)# 文件描述符用完了,新的连接会被拒绝,产生502类错误# linux最大可打开文件数可通过ulimit -n FILECNT或 /etc/security/limits.conf配置# 理论值 系统最大数量 / 进程数。但进程间工作量并不是平均分配的,所以可以设置的大一些events { # event指令与事件模型有关,配置处理连接有关的信息 worker_connections 500; # 并发响应能力的关键配置值,每个进程允许的最大同时连接数 # nginx能够承受的最大可用连接数maxConnection = work_connectins * worker_processes # 要注意maxConnections不等同于可响应的用户数量, # 因为一般一个浏览器会同时开两条连接,如果反向代理,nginx到后端服务器的连接也要占用连接数 # 所以,做静态服务器时,一般 maxClient = work_connectins * worker_processes / 2 # 做反向代理服务器时 maxClient = work_connectins * worker_processes / 4 # 这个值理论上越大越好,但最多可承受多少请求与配件和网络相关,也与最大可打开文件,最大可用sockets数量(约64K)有关 use epoll # 指明使用epoll 或 kquene (*BSD) # 默认是使用epoll的异步非阻塞事件处理模型 # 需要注意的是,windows版的nginx是不支持epoll这种异步非阻塞的,所以其性能就较差 # 备注:要达到超高负载下最好的网络响应能力,还有必要优化与网络相关的linux内核参数}http { include mime.types; default_type application/octet-stream; access_log off # 关闭此项可减少IO开销,但也无法记录访问信息,不利用业务分析,一般运维情况不建议使用 error_log logs/error.log crit; # 只记录更为严重的错误日志,可减少IO压力 sendfile on; # 启用内核复制模式,应该保持开启达到最快IO效率 #tcp_nopush on; #tcp_nodelay on|off on禁用Nagle算法 # 简单说,启动这两项配置,会在数据包达到一定大小后再发送数据 # 这样会减少网络通信次数,降低阻塞概率,但也会影响响应及时性 # 比较适合于文件下载这类的大数据包通信场景 keepalive_timeout 30s; # HTTP1.1支持持久连接alive # 降低每个连接的alive时间可在一定程度上提高可响应连接数量,所以一般可适当降低此值 gzip on; # 启动内容压缩,有效降低网络流量 gzip_min_length 1000; # 设置要压缩数据的最小长度,过短的内容压缩效果不佳,压缩过程还会浪费系统资源 gzip_comp_level 4; # 可选值1~9,压缩级别越高压缩率越高,但对系统性能要求越高 gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; # 指定要压缩的内容类别,对于压缩效果不是很好的文件,反而消耗了系统性能,所以需要根据实际情况来设置 open_file_cache max=655350 inactive=20s; # 静态文件缓存 # 最大缓存数量,文件未使用存活期 open_file_cache_valid 30s; # 验证缓存有效期时间间隔 open_file_cache_min_uses 2; # 有效期内文件最少使用次数 server { ... } ...}
0 0
- nginx学习笔记(2)---nginx配置文件中优化相关的参数
- Nginx内核参数相关的优化设定
- Nginx内核参数相关的优化设定
- Nginx内核参数相关的优化设定
- Nginx内核参数相关的优化设定
- Nginx内核参数相关的优化设定
- NGINX配置文件学习笔记
- nginx学习笔记4 nginx的配置文件1 通用配置
- 优化Nginx中FastCGI参数的实例
- nginx学习笔记7 nginx配置文件详解
- Nginx配置文件优化实例与参数详解
- nginx学习笔记4 nginx的配置文件2 虚拟主机的配置
- Nginx学习笔记(二):配置文件
- nginx的优化配置参数
- nginx 配置文件参数说明
- nginx配置文件参数详解
- nginx配置文件参数详解
- nginx配置文件参数详解
- 模拟ATM柜员机界面
- 顺序串及快速排序算法
- leetcode之reverse Integer
- USACO 1.1-beads
- LeetCode之旅(20)-Power of Three
- nginx学习笔记(2)---nginx配置文件中优化相关的参数
- 2. PDO 的使用
- Android重力感应
- C++ 赋值运算符=重载
- [练习5]js学习之利用随机数滚动出现图片
- Android系统应用导入Eclipse中开发
- hdu1200(模拟)
- [经验]你想不到的PhpExcel导不出文件的原因
- linux shell 中的 2>&1 用法说明