我目前有2个Debian服务器(VPS有4GB内存),并且承载了各种不同重要性的网站:一些是生产站点,另外一些是演示/临时/testing站点。 大约有15-20个网站,其中一个即将有相当的stream量。
目前,我已将我的生产站点部署在一台服务器上,并将演示/分段/testing站点部署在另一台服务器上。 两台服务器都运行Apache和MySQL。
我已经阅读并理解了从Web服务器(Apache,但可能要切换到Nginx)分离数据库(MySQL)的大部分好处。 目前我没有任何性能问题,但需要从一台服务器移动到另一台服务器,并想知道现在是不是在两台服务器上重新组织数据的好时机。 目前我没有钱来添加额外的服务器。
我的问题是:把所有的网站放在两台服务器之一和相应的数据库上是否好,因为它们分为生产和演示/分段/testing应用程序,或者我最好保持生产和非生产应用(考虑安全/性能因素)?
理想情况下,我会将所有非生产应用程序迁移到第三台服务器上,但目前为止还没有结束。
就我个人而言,我会倾向于离开安装。 (1台生产服务器和1台testing/演示/登台服务器)。 改变它我看不出有什么好处。 我没有看到任何不利因素。 你计划第三个服务器,这将强迫你改变安装。 如果数据库性能是一个问题,请考虑在两台服务器上集群MySQL。 一个简单的主/从设置工作可以做到这一点。 这样,您可以使用一个或两个节点(S)为所有select查询和其他所有编辑(插入,更新等)的查询。 这样分配负载。
尽pipe这里已经接受了答案,但是我强烈地认为这是一个正确的select。
除非你有复杂的部署和/或容量testing要求,那么你为什么要支付服务器来托pipe你的非生产的东西? 所有你需要的是一个本地虚拟机(在代理上实现带宽,延迟和数据包丢失是微不足道的)。
即使副总裁下降。 如果你想要高可用性,那么这两个系统应该是对称的。 假设你有一个节点的失败概率为0.01%。 那么失去你服务的可能性是0.01%。 垂直分割服务(http和mysql),那么你的服务完全丢失的概率是0.01 + 0.01% – 是原来的两倍。 OTOH具有对称的configuration,服务完全丢失的概率为0.01%* 0.01%= 0.0000001%,您将获得更多的性能和更多的容量,以及实现A / Btesting的简便方法。
如何实现mysql集群和stream量平衡是一个更复杂的问题 – 但是可以在不添加额外的软件/硬件的情况下完成。