规划虚拟化环境

时间:2012-02-21 13:47:34

标签: virtualization moodle

我正处于为我们的生产系统(Moodle)规划虚拟化环境的早期阶段。这些层相对简单:

web - Apache 2.2 数据库 - MySQL 5 PHP 5.2

我的问题是,在phycsical服务器中分发上述层的普遍接受的方法是什么?在这种情况下,我们计划拥有2台物理服务器。我是否应该将我的Web服务器群集保留在另一个物理服务器和数据库群集上?或者,在两台服务器上复制完整堆栈,以防万一发生故障?任何对此的见解对我都有很大的帮助。

感谢, 卡瑟尔。

1 个答案:

答案 0 :(得分:0)

我们使用单独的(虚拟)服务器,但确实在每个服务器上维护单独的堆栈,因为开销很小,如果我们想要扩展/缩小,它允许灵活性。然而,这不适用于后备,因为如果一个服务器被破坏而不能通过Web访问,那么您可能无法将数据从其中获取并进入第二台服务器,以使其成为有用的替代品。使用适当的备份进行后备并定期从中进行恢复。

Moodle通常在PHP端而不是数据库端阻塞,我们看到大约3.5:1 PHP:MySQL CPU在不同的机器上加载。考虑到这一点,您需要考虑一台服务器的最大容量:如果您的机器之间没有网络开销,您将获得最佳性能,因此越大越好。如果你不能用一个,那么制作2个VMS,一个更大的PHP和一个更小的MySQL是最好的选择,但是对你的特定设置加载差异进行基准测试(使用Apache JMeter为此)。

我们最大的安装涉及70,000个用户左右,我们有两个4 CPU / 8GB VM,一个用于PHP,一个用于MySQL(尽管DB很少超过30%CPU)。这允许通过Apache进行大约400个并发连接。但是,我们正在使用大型VM场,可以轻松地在2到16个CPU之间进行扩展和缩小,因此如果您需要灵活性,可能需要考虑一台怪物机器。

有关Moodle性能的更多信息,请查看here,尤其是“可扩展性”。