HTTP核心模块配置静态web服务器 7-文件操作的优化
来源:互联网 发布:阿里云 服务器买错了 编辑:程序博客网 时间:2024/06/06 00:23
7,文件操作的优化
7-1,sendfile系统调用
语法:sendfile on|off;
默认:sendfile off;
配置块:http,server,location
可以启动linux上的sendfile系统调用来发送文件,它减少了内核态与用户态之间的两次内存复制,这样就会从磁盘中读取文件后直接在内核态发送到网卡设备,提高了发送文件的效率
7-2,AIO系统调用
语法:aio on|off;
默认:aio off;
配置块:http,server,location
此配置项表示是否在FreeBSD或linux系统上启用内核级别的异步文件I/O功能。注意,它与sendfile功能是互斥的
7-3,directio
语法:directio size|off;
默认:directio off;
配置块:http,server,location
此配置项在FreeBSD和linux系统上使用O_DIRECT选项去读取文件,缓冲区大小为size,通常对大文件的读取速度有优化作用,注意,它与sendfile功能是互斥的
7-4,directio_alignment
语法:directio_alignment size;
默认:directio_alignment 512;
配置块:http,server,location
它与directio配合使用,指定以directio方式读取文件时的对齐方式。一般512B足够,但对一些高性能文件系统,如linux下的XFS文件系统,需要设置到4k
7-5,打开文件缓存
语法:open_file_cache max=N[inactice=time]|off;
默认:open_file_cache off;
配置块:http,server,location
文件缓存会在内存中存储以下3种信息:
1.文件句柄,文件大小和上次修改时间
2.已经打开过的目录结构
3.没有找到的或者没有权限操作的文件信息
这样,通过读取缓存就减少了对磁盘的操作。
参数含义:
max:表示在内存中存储元素的最大个数。当达到最大限制数量后,将采用LRU算法从缓存中淘汰最近最少使用的元素
inactive:表示在inactive指定的时间段内没有被访问过的元素将会被淘汰,默认时间60秒
off:关闭此功能
例如:
open_file_cache max=1000
inactive=20s;
7-6 是否缓存打开文件错误的信息
语法:open_file_cache_errors on|off;
默认:open_file_cache_errors off;
配置块:http,server,location
此配置项表示是否在文件缓存中缓存打开文件时出现的找不到路径,没有权限等信息。
7-7 不被淘汰的最小访问次数
语法:open_file_cache_min_uses number;
默认:open_file_cache_min_uses 1;
配置块:http,server,location
它与open_file_cache 中的inactive参数配合使用,如果在inactive指定的时间段内,访问次数超过了指定的最小次数,将不会被淘汰出缓存
7-8 检验缓存中元素有效性的频率
语法:open_file_cache_valid time;
默认:open_file_cache_valid 60s;
配置块:http,server,location
默认为每60秒检查一次缓存中的元素是否仍有效。
0 0
- HTTP核心模块配置静态web服务器 7-文件操作的优化
- HTTP核心模块配置静态web服务器 2-文件路径的定义
- 【nginx】使用HTTP核心模块配置一个静态WEB服务器
- HTTP核心模块配置静态web服务器 3-内存及磁盘资源的分配
- HTTP核心模块配置静态web服务器 4-网络连接的设置
- HTTP核心模块配置静态web服务器 5-MIME类型的设置
- HTTP核心模块配置静态web服务器 6-对客户端请求的限制
- HTTP核心模块配置静态web服务器 8-对客户端请求的特殊处理
- 高性能Web服务器Nginx的配置与部署研究(9)核心模块之HTTP模块基本常用指令
- 高性能Web服务器Nginx的配置与部署研究(10)核心模块之HTTP模块Location相关指令
- 高性能Web服务器Nginx的配置与部署研究(9)核心模块之HTTP模块基本常用指令
- 高性能Web服务器Nginx的配置与部署研究(10)核心模块之HTTP模块Location相关指令
- 高性能Web服务器Nginx的配置与部署研究(7)核心模块之主模块的非测试常用指令
- 高性能Web服务器Nginx的配置与部署研究(7)核心模块之主模块的非测试常用指令
- 高性能Web服务器Nginx的配置与部署研究(8)核心模块之事件模块
- 高性能Web服务器Nginx的配置与部署研究(8)核心模块之事件模块
- web服务器之mongoose:核心处理模块
- 静态web服务器(核心代码)
- php API 跨域请求
- MySQL基本操作
- css-03
- 数字转化为汉字金额
- Redis主从实现读写分离
- HTTP核心模块配置静态web服务器 7-文件操作的优化
- HiHo #1068 : RMQ-ST算法 【ST求区间最值】
- 如何调试神经网络(深度神经网络)
- 神经⽹络与深度学习 Neural Networks and Deep Learning
- UVALive 7141BombX
- HTTP核心模块配置静态web服务器 8-对客户端请求的特殊处理
- 【NOIP2014提高组】联合权值
- 创建全国主要城市经纬度map的java代码
- 观察者模式--java描述