0

我们使用 Elite 许可证在多个 AWS 实例(当前为 4 个)上运行 ImageResizer。目前每个实例都有自己的本地缓存,但这意味着每个图像请求都是在每个实例上独立生成和缓存的。

这也意味着当我们部署一个新实例时,我们要么从一个空缓存开始并且在填充时该实例的性能很差,要么从现有实例复制缓存(这需要相当长的时间)

我正在考虑将缓存放在共享网络驱动器上,供所有实例访问。

这是官方支持吗,这会引起任何冲突吗?如果启用了 autoClean,所有服务器都会尝试运行清理操作吗?

4

1 回答 1

0

您需要禁用autoClean; 网络上的缓存驱逐不是一个有效的过程。

您还会看到整体延迟增加和文件锁定争用增加。

这是我通常不建议的权衡,但是 - 自己衡量。在某些情况下它是有意义的,但它高度依赖于命中率、缓存大小、存储限制、文件共享协议以及您是否有任何反向代理/cdn 在玩。

于 2016-09-22T20:07:02.953 回答