了解ngx_pagespeed FileCacheSizeKb

时间:2017-02-01 08:14:49

标签: caching nginx memcached pagespeed

在最简单的情况下,我们有一个网站并定义

pagespeed FileCachePath /var/ngx_pagespeed_cache;
pagespeed FileCacheSizeKb            2048000;

因此确保文件夹/ var / ngx_pagespeed_cache占用的磁盘空间不会超过2Gb。

好的,但在我的用例中有几十个网站,我希望它们有单独的缓存,以便我可以刷新其中一个缓存而不会伤害其他缓存。

所以第一个问题是:FileCacheSizeKb是设置全局缓存大小限制还是每个虚拟主机?

如果我有两个网站而我没有为虚拟主机指定不同的FileCachePath,那么/ var / ngx_pagespeed_cache的大小是否会被4Gb而不是2Gb限制?

如果我指定了两个不同的FileCachePath,那么每个文件夹是2Gb吗?

似乎应该是这种情况,因为我还可以在服务器块中指定单独的FileCacheSizeKb指令......但这并不明显,我没有设法在文档中找到答案。

现在第二个问题是:如果我使用memcached作为外部缓存,FileCacheSizeKb如何与memcached的限制相关联?

FileCacheSizeKb是否仅适用于FileCachePath文件夹占用的磁盘空间,还是限制了总缓存大小(文件夹+ memcached)?

例如,我的memcached的限制是1Gb而FileCacheSizeKb是2Gb - 这是否意味着memcached有一天会达到它的限制但是缓存清理过程永远不会触发,因为1Gb低于0.75 * FileCacheSizeKb?

1 个答案:

答案 0 :(得分:0)

好的,这个问题已经解决了。

如果其他人需要答案:

  

如果在服务器{}级别配置FileCachePath,您将获得一个   该vhost的单独缓存。如果您全局配置它,您将   获取单个文件系统缓存,在vhosts之间共享。

     

限制表单memcached和文件缓存是分开的项目。对象< 1MB   存储在memcached对象中> 1Mb存储在文件缓存中,直到   他们自己的限制。

似乎pagespeed没有memcached的清理机制,因此在memcached限制较低的情况下可能会出现问题,请注意