当前位置: 首页 > 知识库问答 >
问题:

Nginx代理缓存清除过程没有足够快地清理新元素的项

闻人河
2023-03-14

我们的对象存储前面有一个nginx,用于缓存大型对象。对象的大小可达100GB。nginx缓存最大大小设置为约3.5TB。

当大对象请求激增且磁盘很快填满时,nginx会遇到磁盘空间不足错误。我期望缓存管理器根据LRU清除项目,并为新元素腾出空间,但这并没有发生。

我可以用一个简单的测试用例重现这个问题:

配置:

代理缓存路径/tmp/缓存级别=1:2键缓存区域=256m非活动=2d最大大小=16G使用临时路径=off;

测试:

  1. 运行一个下载15GB文件的请求,该文件被正确地提供并存储在缓存中
2019/10/04 11:49:08 [crit] 20206#20206: *21 pwritev() "/tmp/cache/9/fa/a301d42ca6e5d4188c38ecf56aa3afa9.0000000001" has written only 221184 of 229376 while reading upstream, client: 127.0.0.1, server: eos_cache_filer, request: "GET...
2019/10/04 12:07:29 [crit] 21201#21201: *487 pwrite() "/tmp/cache/9/fa/a301d42ca6e5d4188c38ecf56aa3afa9.0000000002" failed (28: No space left on device) while reading upstream, client: 127.0.0.1, server: eos_cache_filer, request: 

我可以调整一些缓存管理器参数以使其正常工作吗?在这种情况下,有没有办法禁用缓冲?理想情况下,下载不应该失败,应该禁用缓存和缓冲。

共有1个答案

微生昌胤
2023-03-14

nginx论坛回答的问题:https://forum.nginx.org/read.php?2,285896

 类似资料:
  • 问题内容: 我使用nginx作为前端服务器,我修改了CSS文件,但是nginx仍在使用旧文件。 我试图重新启动nginx,但没有成功,我已经用Google搜索,但是找不到清除它的有效方法。 一些文章说我们只能删除缓存目录:,但是我的服务器上没有这样的目录。 我现在该怎么办? 问题答案: 我遇到了完全相同的问题-我在Virtualbox中运行了Nginx。我没有打开缓存。但是看起来像已经设置好了,这

  • 我已在登录时在本地存储中设置了身份验证令牌,并在注销时将其清除。注销后,如果用户尝试再次登录,则从缓存中获取旧的身份验证令牌,而不是新设置的值。如何在清除本地存储时清除缓存。我在应用程序中使用angular 2。 登录: 注销:

  • void clear_all_cache(int expire time) This clears the entire template cache. As an optional parameter, you can supply a minimum age in seconds the cache files must be before they will get cleared. 清除所

  • Dokuwiki糊里糊涂地用了一年多,前两天忽然发现整个dokuwiki文件夹大得吓人,居然有130多MB,而我这个wiki站也就不到10个的页面。巡视一圈,冗余文件集中在 data/cache 缓存文件夹中,dokuwiki靠高速缓存提高页面加载速度,不过我的缓存文件实在太多了,居然有80多MB(大概因为时间太久了吧) 那么,开删!cache文件夹是不能删的,里面的1、2、3、a、b、c什么的全

  • 问题内容: 我们希望在生产部署中缓存崩溃,但不要浪费大量时间来弄清楚这样做的系统。我的想法是将具有当前版本号的paras应用于css和js文件的末尾: 两个问题:这会有效地打破缓存吗?由于参数表明这是动态内容,因此该参数会导致浏览器从不缓存该URL的响应吗? 问题答案: 参数表示查询字符串,因此浏览器将认为这是从到的新路径。因此导致它从文件而不是从缓存加载。如你所愿。 而且,浏览器将假定下次调用时

  • void clear_cache(string template [, string cache id [, string compile id [, int expire time]]]) This clears the cache for a specific template. If you have multiple caches for this template, you can cl