open file cache提升nginx性能
server {
listen 8080;
location / {
root /data/nginx/html;
open_file_cache max=10 inactive=60s; #max指定缓存的最大文件数, 超出会根据lru列表就行淘汰,inactive=60s表示如果60s后文件没有被缓存,则移除缓存
open_file_cache_min_uses 1; #表示至少要访问一次才能继续留在缓存中
open_file_cache_valid 60s; #表示60s以后如果磁盘上的文件发生变化则获取新的文件
open_file_cache_errors on; #表示对访问文件错误的信息也进行缓存
}
}
都缓存哪些信息:
文件句柄(fd),不用每次都open一个文件再close一个文件
文件的修改时间
文件大小
文件查询时的错误信息
目录是否存在
curl 127.0.0.1:8080 #测试访问网站的根文件
用strace -p nginxworker进程的pid会发现不用open file cache时会频繁的打开文件和关闭文件,当启用时就不会了