哪个更容易缩放 – 独立虚拟机上的LAMP或LAP + MySQL?

稍后更容易扩展 – 一台服务器直接在操作系统上运行一个完整的LAMP堆栈,或者一台运行VMWare Server 2的服务器运行2个虚拟机 – 一个运行apache和PHP,另一个运行MySQL。

我将运行的应用程序是用PHP编写的,并使用MySQL。 最终,可能需要扩展这一点 – 我想知道这是否会更容易从虚拟机环境或物理环境。

我打算使用SLES 64位作为操作系统 – 用于访客和主机。

谢谢你的帮助。

你将会添加虚拟化的开销。 我只想在一台服务器上使用LAMP,当有需要时,添加另一台机器并将MySQL移到它(如果知道自己在做什么,可能需要很小的停机时间才能进行切换)。

从那里,你可以开始添加更多的Web服务器与负载平衡和更多的MySQL服务器与复制。

如果您知道您将扩展您的应用程序,远远超出单个服务器可以处理的范围,那么虚拟化显然不是必需的。 对于服务器恢复等等,它仍然非常好。 不足之处在于开销,当你在多个虚拟机上分发大量的networking进程时,会使它们减慢一点。

LAMP的“经典”缩放比例可能如下所示:

第一台服务器直接在一台服务器上安装完整的LAMP堆栈。

然后2个服务器 :1个用于Web服务; 和1有大量的RAM和磁盘I / O的MySQL。

然后4个服务器 :1用于基于源IP地址的粘性会话 (可select静态文件服务,SSL卸载)进行负载平衡; 2为networking服务; 和1有足够的RAM和磁盘I / O的MySQL(和可选的热备份MySQL服务器)。

在这个过程中,我并不认为virtualization是有用的。 奇怪的是,在4台服务器之后,虚拟化又变得更加相关 – 下一步可能是云计算。

但还有一件事要考虑 – 关于诸如邮件服务器,监控服务器,软件包安装库等辅助服务器的情况呢?你需要这些服务吗? 如果是这样,他们可能是虚拟化的理想人选,因为他们可能不需要完整的服务器容量。

准备好自己的碎片数据[和早晚的应用程序服务器]。 例如使用几个不同的数据库来存储分片,并且已经在你的应用程序中build立了分区逻辑。

我想在一开始就可以让所有的单机运行 – 你将会有更好的性能,将SQL碎片移到不同的机器上应该是相对的痛苦。