HTTP核心模块配置静态web服务器 7-文件操作的优化

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值