运行4 .5GB memcache服务器或者一个2GB实例之间有什么区别吗?
运行多个实例是否可以提供任何好处?
答案 0 :(得分:6)
如果一个实例失败,您仍然可以使用缓存。如果您使用Consistenthashing将相同的数据带到同一个实例,而不是在仍在运行的计算机之间传播新的读/写,则尤其如此。
您也可以选择在32位操作系统上运行服务器,这些服务器的内存不能超过3GB。
查看常见问题解答:http://www.socialtext.net/memcached/和http://www.danga.com/memcached/
答案 1 :(得分:5)
高可用性很好,memcached将自动在4台服务器上分配缓存。如果其中一个服务器由于某种原因而死亡,您可以通过继续,就像缓存为空,重定向到其他服务器或任何类型的自定义错误处理一样来处理该错误。如果您的1x 2gb服务器死机,那么您的选择非常有限。
要记住的重要一点是,您没有4个缓存副本,它是1个缓存,分为4个服务器。
唯一的缺点是4x .5比1x 2gb内存耗尽更容易。
答案 2 :(得分:2)
我还想在理论上补充一点,如果有几台机器,它可能会为你节省一些性能,好像你有很多前端做了大量的重读,把它们分成不同的机器要好得多:你知道吗,一台机器的网络功能和处理能力可以成为你的上限。
然而,这种优势在很大程度上取决于内存缓存的利用率(有时候从一台机器上获取所有东西的速度可能会更快)。