我最近为一个流量很大的 PHP 站点设置了 memcached。在我们使用 APC 之前,但这缺乏拥有唯一缓存系统的可能性(使一台服务器上的一个键失效不会通过其他服务器失效)。
当 memcached 与 http 服务器在同一台机器上或在单独的服务器上时,我注意到一个很大的不同。
同一服务器上的 http+memcached -> 交付页面的平均时间为 0.06
diff 服务器上的 http 和 memcache(但在 NAT 下)-> 0.15 - 0.20 以传递页面
所以这是一个巨大的差异,我想知道将缓存系统与 http 放在同一台机器上是否会更好。额外的复杂性是网站由几个 http 服务器(通过负载平衡器)提供服务。所以我实际上需要一个带有复制的缓存系统,每个http服务器都有一个缓存“副本”并将更改仅写入“主”(或其他类似的方法)。
有几个这样的系统(couchbase、redis、aso)。我认为 couchbase 对此并不好,因为它不允许连接到本地缓存服务器,而是连接到“门”。Redis可能工作,我还在检查其他人。
主要是:有人尝试过这种方法来加速网站吗?通过在每台机器上都有一个缓存“副本”(与其他机器保持同步)?