我有一个在 4 台负载平衡服务器上运行的网站。这些服务器是视窗服务器,每台服务器有 16 GB 内存。我需要迁移到共享缓存,所以我考虑使用 Memcached。但是,预算原因不允许我添加额外的服务器。由于我的 4 台 Web 服务器每台已经有 16 GB 内存,所以我考虑将每台 Web 服务器用作 Memcached 节点,而不是在 1 或 2 台专用服务器上运行 memcache。因此,这 4 台 Web 服务器将拥有一个单一的共享缓存,该缓存分布在相同的 4 台服务器中,使用 Memcached。
这明智吗?有什么缺点?我会遇到问题吗?
答案1
我们实施了类似的方案,但有三个(两个主动,一个被动)Web 服务器,每个服务器默认为一个 memcached 实例分配 64MB。我们对它还不太熟悉,但总体来说,它对我们很有效。
需要考虑的事情包括 memcached 将使用多少内存。如果有足够的内存,那么应该没问题。
缺点是有条件的,例如,如果您没有足够的内存/资源,或者您的应用程序对 memcached 的使用效率低下。
你可能遇到问题(-:但要做好诊断和排除故障的准备。加入 memcached 邮件列表。谷歌搜索“memcache.php”或“php memcache admin”获取一些基本的监控工具。此外,查看 memcached 附带的一些工具,如 memstat、memcached-tool 等。如果您使用 Nagios 或类似工具,那里也可能有一些选项。
如果有的话,请先在测试服务器/环境中尝试此操作,以查看 set 对 memcached 的反应。
祝你好运,HTH。