在最简单的情况下,我们有一个网站并定义
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?
答案 0 :(得分:0)
好的,这个问题已经解决了。
如果其他人需要答案:
如果在服务器{}级别配置FileCachePath,您将获得一个 该vhost的单独缓存。如果您全局配置它,您将 获取单个文件系统缓存,在vhosts之间共享。
限制表单memcached和文件缓存是分开的项目。对象< 1MB 存储在memcached对象中> 1Mb存储在文件缓存中,直到 他们自己的限制。
似乎pagespeed没有memcached的清理机制,因此在memcached限制较低的情况下可能会出现问题,请注意