我们(我们的公司)提供 SAAS(软件即服务)应用程序,并且我们考虑使用虚拟化来托管我们的 apache/php 服务器以及我们的 mysql 主/从服务器。
这是一个好主意吗?
Mysql 服务器需要快速的 I/O 和内存,并且都需要较高的网络带宽。
如何做出正确的选择?
谢谢 Cédric
答案1
我将听从这里专家的意见,但与此同时,我想问一些可能有助于形成更具体的答案的问题:
- 您拥有哪种类型的虚拟化基础架构?我们谈论的是单个 VM 服务器吗?多个 VM 服务器?通过光纤连接的 SAN 进行存储?通过本地磁盘进行存储?它的可扩展性如何才能满足额外的资源需求?在同一台主机上运行着多少个其他 VM?
- 您预计 mysql 负载增长速度有多快?用户将发起哪种类型的 SQL 事务以及频率如何?
我对虚拟机的有限经验使我相信磁盘 IO 是一个重大瓶颈。因此,我更关心 mysql,而不是 apache/php 或网络带宽。
仅我的 0.02。
-M
答案2
这取决于您的虚拟化解决方案和设置。如果操作正确,与物理机相比几乎没有区别。如果操作不正确,则会导致速度变慢。可能性实在太多了。
如果您的存储池使用驻留在现有文件系统之上的映像,那么与原始分区甚至光纤通道存储相比,它的效率会更低。如果您的虚拟机默认使用 10Mbps NIC,则可能会降低速度。如果您使用操作系统级虚拟化,它可以帮助减少内存需求,因为内核和库可以在虚拟机之间共享。
您需要了解您的要求并研究可用的不同虚拟化平台和所使用的架构最佳实践。