Caching 将缓存系统复制到每个http服务器

Caching 将缓存系统复制到每个http服务器,caching,Caching,我最近为一个流量很大的PHP站点设置了memcached。在我们使用APC之前,但这缺乏拥有唯一缓存系统的可能性(在一台服务器上使一个密钥失效不会通过其他密钥失效) 我注意到当memcached和http服务器在同一台机器上或者在单独的服务器上时有很大的不同 http+memcached在同一台服务器上->交付页面的平均时间为0.06 不同服务器上的http和memcache(但在NAT下)->0.15-0.20以交付页面 因此,这是一个巨大的差异,我想知道是否将缓存系统与http放在同一台机器

我最近为一个流量很大的PHP站点设置了memcached。在我们使用APC之前,但这缺乏拥有唯一缓存系统的可能性(在一台服务器上使一个密钥失效不会通过其他密钥失效)

我注意到当memcached和http服务器在同一台机器上或者在单独的服务器上时有很大的不同

http+memcached在同一台服务器上->交付页面的平均时间为0.06

不同服务器上的http和memcache(但在NAT下)->0.15-0.20以交付页面

因此,这是一个巨大的差异,我想知道是否将缓存系统与http放在同一台机器上会更好。另一个复杂性是网站由两个http服务器(通过负载平衡器)提供服务。因此,我实际上需要一个带复制的缓存系统,每个http服务器都有一个缓存“副本”,并且只将更改写入“主服务器”(或其他做类似事情的方法)

有两种这样的系统(couchbase、redis、aso)。我认为couchbase不适合这样做,因为它不允许连接到本地缓存服务器,而是允许连接到“门”。Redis可能会工作,我仍在检查其他人


主要问题是:是否有人尝试过这种方法来加速网站?通过在每台机器上都有一个缓存“副本”(与其他机器保持同步)

您可以使用GigaSpaces XAP解决方案,它是一个分布式内存数据网格,但也与jetty集成,允许您部署web应用程序并从单个管理系统对其进行管理。中央分布式数据网格(可用作简单缓存)可以在每个web容器上有一个本地缓存,该缓存与主缓存保持同步,您不必使用jetty集成,您仍然可以使用自己的web容器,只需通过代码创建一个带有嵌入式本地缓存的分布式缓存代理即可。或者,您也可以在web容器之间具有完全复制的拓扑,而不具有主分布式缓存,并且每个web容器将包含整个缓存的完整副本,该副本将与web容器的其他实例同步

您可以在中阅读更多内容:

http://wiki.gigaspaces.com/wiki/display/XAP9/Web+码头+加工+装置+集装箱


免责声明:我是GigaSpaces的开发人员。

您可以使用GigaSpaces XAP解决方案,它是一种分布式内存数据网格,但也与jetty集成,允许您部署web应用程序并从单个管理系统对其进行管理。中央分布式数据网格(可用作简单缓存)可以在每个web容器上有一个本地缓存,该缓存与主缓存保持同步,您不必使用jetty集成,您仍然可以使用自己的web容器,只需通过代码创建一个带有嵌入式本地缓存的分布式缓存代理即可。或者,您也可以在web容器之间具有完全复制的拓扑,而不具有主分布式缓存,并且每个web容器将包含整个缓存的完整副本,该副本将与web容器的其他实例同步

您可以在中阅读更多内容:

http://wiki.gigaspaces.com/wiki/display/XAP9/Web+码头+加工+装置+集装箱

免责声明:我是GigaSpaces的开发人员