对于只服务于PHP(memcache + MySQL)的服务器,拥有更less的大型服务器(8核心)或更小的服务器(4核心)会更好。
没有一个正确的答案,而这个stream行的看法在这个不断来回摆动。 我个人的观点考虑到了服务器死机时会发生什么。 对于我曾经使用过的多个小型服务器来说,恢复起来都比较简单。 在掐我可以使用工作站填补空白,同时等待更换服务器到达。 其他人有自己的理由,赞成更less,更强大的服务器,虚拟化是一个常见的(尝试用工作站replace那个!)。 事实是,任何地方的答案都不适用。
你可以做的最好的事情是只有MySQL服务器,一个PHP + Memcached。 然后,根据您对这些数据的负载,您可以使用更多的服务器来负载均衡。数据库服务器应该始终是最强大的,因为它必须同时处理多个请求。
也就是说,我必须记住,它总是取决于这些服务器上的加载网站产生…对于一个小型站点,假设每天有4000个访问者,您可以轻松地将所有内容放在同一台服务器上,但如果您正在讲话一个网站的更多,然后让我们说每天10K访问者,那么你将有一个主要的优势,分裂你的服务(MySQL,Apache等)在多个服务器上。 这也取决于你在谈论什么样的网站。
希望这可以帮助你一点。
关于扩展(Big Iron服务器)或扩展(大量小型服务器),您需要了解的所有信息都可以在Jeff Atwood的post中阅读: http : //www.codinghorror.com/blog/archives/001279.html 。 按照他的post中的链接,“我的扩展英雄”,这也给你一个很好的故事。
这些post中没有答案,但它会给你明确的方向,如何达到自己的答案,因为每个人的答案都会有所不同。
如果您不知道Jeff Atwood是谁,他是Stack Overflow / Server Fault / Super User站点的创始人之一,也是编程/ IT领域的世界知名博主,尽pipe您不应该带任何个人对于音乐作为福音的意见,这个post中的硬数确实引起了一些思考。
我能否build议一个备用的设置 – 一个涉及像OpenVZ / VServer(甚至是Xen)的“轻量级”虚拟化。 你可以得到一台function强大的机器,把它分解成多个较小的虚拟机,以获得两个世界的好处。
困境总是相同的:“许多服务器”成本较低,但通常不太稳定,所以维护时间增加。 (我知道这不总是真的…)
“less量服务器”的成本更高,但通常更稳定(由于高质量的组件),但也意味着你将承载更多的服务,如果你有任何问题,更多的服务将受到影响。
你应该考虑虚拟化,它结合了这两个问题:你将有一个高品质的rox稳定的服务器,并在“多台服务器”内,如果有任何问题,只有相关的服务器将受到影响。
根据我所经历的(小体验:p),为了避免以后的痛苦,最好放置价格。 在生产中,人们不关心我们的问题,他们只想随时看到事情的运作
可能有些问题,如果你能回答会帮助你…
几大服务器:
你能得到一个足够大的服务器? 你的负载是否在这个服务器上扩展? 当它失败时会发生什么? 你可以买两个或支付XXX公司足够快速修复吗?
许多小型服务器:
你用这个模型加载扩展吗? 有些负载做,有些则不。 当一个失败时会发生什么? 剩下的N-1能处理负载,直到你修好坏的那个? 你有多快可以得到你需要的服务器的新副本?
如果你使用许多小型的服务器模型,我会尽可能地configuration它们,这样你就可以替代另一个。
我们使用puppet来使服务器可以被交换,重命名和volia,系统已经启动。 那么,新的系统模块debugging,你必须做,因为你忘了一些东西..