我们正在使用Elite许可证在多个AWS实例(目前为4个)上运行ImageResizer。目前,每个实例都有自己的本地缓存,但这意味着每个图像请求都会在每个实例上独立生成和缓存。
这也意味着当我们部署一个新实例时,我们要么以空缓存开始,并且在填充该实例时遇到性能不佳,要么从现有实例复制缓存(这需要相当长的时间)
我在考虑将缓存放在共享网络驱动器上,所有实例都可以访问。
这是否正式支持,这会导致任何冲突吗?如果启用了autoClean,是否所有服务器都会尝试运行清理操作?
答案 0 :(得分:0)
您需要停用autoClean
;通过网络缓存驱逐不是一个有效的过程。
您还会看到全面延迟增加以及文件锁争用增加。
这是我通常不建议的权衡,但是 - 衡量一下你自己。有些情况下它有意义,但它高度依赖于命中率,缓存大小,存储限制,文件共享协议,以及是否有任何反向代理/ cdn正在进行中。