如何在 nginx 配置中为 open_file_cache 选择正确的值?

如何在 nginx 配置中为 open_file_cache 选择正确的值?

我有一个网站,每分钟大约有 60,000 个请求,由 nginx 提供服务。最近,我启用了该功能open file cache,并看到性能有了显著改善。但在晚上,当负载最大时,响应时间仍然很长,并且 nginx 使用了大量的 IO。

以下是我当前的设置:

open_file_cache max=10000 inactive=30s;
open_file_cache_valid    60s;
open_file_cache_min_uses 2;
open_file_cache_errors   on;

我仍记得一些事情:

free -m
             total       used       free     shared    buffers     cached
Mem:          7910       6917        992          0        439        885
-/+ buffers/cache:       5592       2317
Swap:         8099          0       8099

问题:现在我应该为open_file_cache max=10000和其他参数选择正确的值吗?10000 够吗?太小还是太大?有没有办法监控打开文件缓存的使用情况?

答案1

打开文件缓存是一个用于元数据操作(文件修改时间、文件存在性等)的缓存系统,而不是用于文件内容的缓存系统,因此它有一定的帮助,但不如你想象的那么多。

您可以尝试以下解决方法:

答案2

您也可以尝试缓冲区,因为当您有足够的缓冲区时,nginx 不会写入任何临时文件

相关内容