• Nginx文件操作的优化


    本文记录Nginx静态web服务器文件操作优化的配置项。
     
    1.sendfile系统调用
    语法:sendfile on|off;
    默认:sendfile off;
    配置块:http、server、location
    可以启用Linux上的sendfile系统调用来发送文件,它可以减少内核态与用户态之间的俩次内存复制,从磁盘读取文件之后直接在内核态发送给网卡设备,提高发送文件的效率。
     
    2.AIO系统调用
    语法:aio on|off;
    默认:aio off;
    配置块:http、server、location
    该配置表示在FreeBSD或Linux系统启用内核级别的异步文件IO功能,其与sendfile功能互斥。
     
    3.directio
    语法:directio size|off;
    默认:directio off;
    配置块:http、server、location
    该配置项表示在FreeBSD与Linux系统上使用O_DIRECT选项去读取文件,缓冲区大小为size,对于大文件的读取速度有优化作用,与sendfile互斥。
     
    4. directio_alignment
    语法:directio_alignment size;
    默认:directio_alignment 512;
    配置块:http、server、location
    它与directio一起使用,指定以directui方式读取文件时的对齐方式。一般情况512B就可以了,但是针对如xfs文件系统一般的高性能文件系统可能需要设置到4KB作为对齐方式。
     
    5.打开文件缓存
    语法:open_file_cache max=N[inactive=time]|off;
    默认:open_file_cache off;
    配置块:http、server、location
    文件缓存在内存中会存储3种信息(因此通过读取缓存可以减少对于磁盘的操作):
    1.文件句柄、文件大小以及上次修改时间
    2.已经打开过的目录结构
    3.没找到或者没有权限操作的文件信息
    open_file_cache max=1000 inactive=2;
    这里解释一下参数:
    1.max-表示在内存中存储元素的最大个数。当超过最大限制数之后,将会根据LRU算法从缓存中淘汰最近最少使用的元素。
    2.inactive-表示在inactive指定时间段没有被访问过的元素将会被淘汰,默认为60s。
    3.off-关闭缓存功能
     
    6.是否缓存打开文件错误的信息
    语法:open_file_cache_errors on|off;
    默认:open_file_cache_errors off;
    配置块:http、server、location
    该配置表示是否在文件缓存中缓存打开文件时出现的找不到路径、没有权限等错误信息。
     
    7.不被淘汰的最小访问次数
    语法:open_file_cache_min_users number;
    默认:open_file_cache_min_uses 1;
    配置块:http、server、location
    该配置和open_file_cache中的inactive参数配合使用,表示在inactive指定的时间中,如果访问次数超过了该配置值,那么将不会被淘汰出缓存。
     
    8.检验缓存中元素有效性的频率
    语法:open_file_cache_valid time;
    默认:open_file_cache_valid 60s;
    配置块:http、server、location
    默认每60s检测一次缓存中的元素是否有效。
  • 相关阅读:
    zeromq和czmq编译
    Future Pattern
    国外程序员是如何准备面试的
    附加数据库后,给所有者赋权
    利用FastCopy迁移应用数据
    持续集成之“Everything is code”
    利用SQLyog实现mysql自动备份
    LinkedIn已将可自定义的索引引擎IndexTank开源
    Hillstone安全网关相关问题收集
    Install Toad for Oracle 10.6 on Winows 7 X64
  • 原文地址:https://www.cnblogs.com/52why/p/13292722.html
Copyright © 2020-2023  润新知