我们正计划更新我们的 Nginx 缓存持续时间,我只是在浏览文档以确保当我遇到以下情况时没有任何问题:
max_size设置缓存大小的上限(在本例中为 10 GB)。它是可选的;不指定值允许缓存增长以使用所有可用磁盘空间。当缓存大小达到限制时,称为缓存管理器的进程会删除最近最少使用的文件,以使缓存大小回到限制之下。
来源:https : //www.nginx.com/blog/nginx-caching-guide/
我们已经安装了一个单独的 HDD,它将仅用于缓存,我很想不指定该max_size
属性,以便它只使用可用空间(如上所述),但它没有指定缓存管理器是否当“限制”是磁盘的隐含大小时,将处理清理。
有谁知道缓存管理器是否会处理这个问题,或者我们应该设置max_size
(到硬盘的大小)只是为了安全起见?
Nginx 来源显示文件缓存管理器是一个由缓存管理器进程调用的小函数。它检查当前缓存大小是否大于max_size
,如果是,则尝试从内部队列和磁盘中删除最后一个缓存节点。除非您在配置文件中重新定义它,否则它会max_size
被设置为一个大的依赖于平台的常量值。
所以看起来缓存管理器没有做任何花哨的事情,比如尝试确定磁盘大小。它只是使用一个大的常数值,让你担心后果。
所以,如果你不max_size
明确设置,你最终可能会遇到大量错误和行为不端的缓存。
另请注意,缓存管理器位于一个单独的进程中,它可能不会及时注意到缓存大小超出限制。出于这个原因,将 设置max_size
为至少比实际 HDD 大小小 100 Mb 的值是明智的。
归档时间: |
|
查看次数: |
2060 次 |
最近记录: |