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

时间:2015-03-10 19:44:09

标签: php mysql apache centos mariadb

我的客户端目前只有一台同时运行MySql和Apache的服务器,并且在一年中的忙碌时间,他们偶尔会看到Apache因为有如此多的连接而崩溃。

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

我设法让他们增加预算足以获得两台服务器。我正在考虑: A)一台运行Apache / PHP的服务器,另一台服务器作为专用的MySQL服务器,或者 B)仅运行其公共网站,另一个运行MySQL和内部应用程序。

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

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

我无法决定采用哪种方式,并感谢您提供的任何反馈。

1 个答案:

答案 0 :(得分:1)

这两种方法都是错误的。

你这里有2个目标;可用性和性能(我正在考虑在这种情况下容量是性能的一个方面)。

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

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

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

可能有很大的空间来进一步增加系统的容量,但没有更多的细节(在这个论坛中比适当的更多,并且可能比你的客户更容易付钱),这很难建议。