Rus*_*uss 65 oracle postgresql virtualization database sql-server
在虚拟机中运行的任何事情都会有性能损失的一定水平,但需要多少真正影响数据库系统的性能?
我发现这篇学术参考论文有一些有趣的基准测试,但它是仅使用 Xen 和 PostgreSQL 的有限测试。结论是,使用虚拟机“不会以很高的性能成本”(尽管您可能认为实际数据并非如此)。
在虚拟机中运行数据库有哪些技术、管理和其他缺陷?
请发布可以得到客观事实支持的答案,我对猜测或任何其他半宗教论点不感兴趣(极客的热情在很多方面都很好,但这对我们没有帮助)。
话虽如此,
- 在虚拟机中运行数据库时会出现什么问题?(请发参考资料)
- 这些问题重要吗?
- 它们仅在某些情况下才有意义吗?
- 有哪些解决方法?
EEA*_*EAA 40
尽管许多数据库供应商在这方面做得很慢,但现在几乎所有供应商都正式支持在虚拟化环境中运行的软件。
我们在 ESXi 之上的 linux 中运行了许多 Oracle 11g 实例,当然可以获得非常好的性能。与所有硬件扩展一样,您只需要确保虚拟化主机拥有充足的资源(RAM、CPU),并且您的磁盘层能够满足提供您需要的任何 IO 性能的任务。
squ*_*man 21
正如 ErikA 所说,这正变得越来越普遍。我在 SQL Server 阵营中并且个人没有在 VM 中运行任何生产系统,但我不会犹豫(在对该主题进行更多研究之后)。不过(至少对于 SQL Server),在沿着这条路走之前,肯定有一些事情需要考虑。磁盘 IO(正如其他人提到的)和内存分配只是两个例子。不同的管理程序之间的情况也会有所不同。
Brent Ozar 是公认的 SQL Server 虚拟化专家,尤其是 VMWare。我强烈建议通读他的材料。
http://www.brentozar.com/community/virtualization-best-practices/
小智 11
有可以,然后有应该。护卫舰的时速可以达到 150 英里,但您应该在公共高速公路上行驶吗?您可能会不必要地伤害自己。
数据库是客户操作系统。根据设计,当他们开始时,他们会抓取资源块并出于性能原因直接管理它。一旦您将数据库服务器的核心操作系统作为虚拟主机环境中的来宾,您就会在磁盘和 RAM 的块分配元素与数据库服务器之间放置一个带有管理程序的仲裁层。它会变慢。您的查询效率越低,速度就越慢。这些低效率今天可能会在专用硬件上被掩盖,但是一旦您将仲裁引入您的依赖资源,您就会很快发现。
许多要求虚拟化的 bean 计数器未能认识到,数据库服务器作为客户操作系统,提供了自己的整合层。没有理由不能在一台物理服务器上移动合并多个逻辑数据库实例,甚至移动 IP 地址、设置其他主机名等,以允许这种自然的服务合并发生。而且,使用此模型,您不仅可以保留管理层为减少物理主机数量而推动的成本节约,而且可以保留对物理资源的块访问,而不受任意虚拟机管理程序的影响,这有时可以做出有益的决策,而不能其他。
这同样适用于其他客户操作系统,如 Java。虚拟化解决方案通常是繁忙的环境,管理程序必须就谁“获得资源的令牌”做出大量决定。任何时候你可以消除那一层,你会变得更好。
首先使用自然来宾操作系统层合并多个实例。很有可能您将能够更轻松地实现平台整合和性能目标。
这里有两件事需要意识到:
也就是说,在我工作的地方,我们的 Sql Server 安装是仅有的两台我无意虚拟化的服务器之一(另一台是主 DC)。
| 归档时间: |
|
| 查看次数: |
16045 次 |
| 最近记录: |