Apache (PHP) & Mysql - 理想的 2 服务器设置

Apache (PHP) & Mysql - Ideal 2 Server Setup

我的客户目前只有一台服务器同时安装了 MySql 和 Apache 运行ning,在一年中繁忙的时候,他们偶尔会看到 Apache 崩溃,因为它有这么多连接。

他们运行两个申请;他们繁忙的 public 基于电子商务 PHP 的网站及其(仅在工作时间忙碌)内部订单处理类型的应用程序有 15-20 个并发用户。

我已经设法让他们增加足够的预算来购买两台服务器。我正在考虑: A) 一台服务器 运行ning Apache/PHP 另一台作为专用 MySQL 服务器,或者 B) 一个 运行ning 他们的 public 网站,另一个 运行ning MySQL 和内部应用程序。

我看到的 A) 的好处是 Mysql my.cnf 可以调整为使用该服务器的所有资源,但它的缺点是只有一个 Apache 实例 运行宁.

B) 会将 Apache 上的负载分散到两台服务器上,但会限制 MySQL 在该服务器上的资源,即使在不使用内部应用程序的工作时间之外也是如此。

我无法决定采用哪种方式处理此问题,如有任何反馈,我将不胜感激。

两种方法都是错误的。

您在这里有 2 个目标;可用性和性能(在这种情况下,我认为容量是性能的一个方面)。

要提高可用性,您应该确保架构中没有单点故障。但是对于您提出的模型,您实际上是在创建多个单点故障 - 因此您的 2 个服务器模型的可用性低于您的单个服务器。

从性能的角度来看,您希望将工作负载分散到可用资源中。您不能在服务器之间移动 CPU 和内存,但可以移动流量。

因此,最佳解决方案是 运行 两个服务器上的两个应用程序。设置 MySQL 集群有点复杂,但开箱即用的异步复制可能就足够了——节点配置为主-主节点(但从 2 个应用程序中写入是明智的)。

可能有很大的空间可以进一步增加系统的容量,但没有更多的细节(超过这个论坛的适当范围,并且可能超过您的客户愿意支付的范围)很难建议.