对于仅提供 PHP(memcache+MySQL)的服务器,是拥有较少的大型服务器(8 核)还是拥有较多的小型服务器(4 核)更好。
答案1
没有一个正确的答案,对此的普遍看法也不断来回摇摆。我个人的观点考虑了服务器死机时会发生什么。对于我曾经使用过的所有东西,多台小型服务器可以使恢复更简单。在紧急情况下,我可以使用工作站来填补空缺,同时等待替换服务器到达。其他人有自己的理由倾向于使用更少、更强大的服务器,虚拟化是一种常见的做法(尝试用工作站替换它!)。事实是,这两种答案都不适用于所有地方。
答案2
你能做的最好的事情就是拥有一个只用于 MySQL 的服务器和一个用于 PHP+Memcached 的服务器。然后,根据你对这些服务器施加的负载,你可以使用其他服务器对它们进行负载平衡...数据库服务器应该始终是最强大的,因为它必须同时处理许多请求。
话虽如此,我必须记住,这始终取决于这些服务器上网站产生的负载...对于一个小型网站,假设每天有 4000 名访问者,您可以轻松地将所有内容放在同一台服务器上,但如果您谈论的网站每天有超过 10,000 名访问者,那么将您的服务(mysql、apache 等)拆分到多台服务器上将获得巨大优势。这也取决于您谈论的网站类型。
希望这对你有点帮助。
答案3
您需要了解的有关纵向扩展(大型服务器)或横向扩展(大量小型服务器)的所有信息都可以在 Jeff Atwood 的帖子中找到:http://www.codinghorror.com/blog/archives/001279.html。点击他帖子中的链接查看“我的扩展英雄”,其中也有一个好故事。
这些帖子中没有答案,但它会给你明确的方向,告诉你如何找到自己的答案,因为每个人的答案都会有所不同。
如果你不知道 Jeff Atwood 是谁,他是 Stack Overflow/Server Fault/Super User 网站的创始人之一,也是编程/IT 领域的世界知名博主,你应该绝不将任何关于内胎的个人观点视为真理,该帖子中的确凿数字确实引发了一些思考。
答案4
困境始终如一:“许多服务器”成本较低,但通常稳定性较差:因此维护时间增加。(我知道这并非总是正确的......)
“少量服务器”成本更高,但通常更稳定(由于组件质量高),但这也意味着您将托管更多服务,如果您遇到任何问题,更多服务将受到影响。
您应该考虑虚拟化,它结合了两个问题:您将拥有一个高质量 - rox 稳定的服务器,并且在您的“许多服务器”中如果出现任何问题,只有相关服务器会受到影响。
从我的经验来看(虽然只是小经验 :p),最好还是标明价格,以免以后出现麻烦。在生产中,人们不关心我们的问题,他们只想随时看到产品运转正常