虚拟化数据库服务器或Web服务器?

时间:2009-04-22 05:01:12

标签: sql-server database web-applications

在具有1个应用服务器(IIS)和1个数据库服务器(MSSQL)的Web应用程序体系结构中,如果您必须选择一个服务器在虚拟机中进行虚拟化,那将是:web还是db?

一般来说当然。

5 个答案:

答案 0 :(得分:2)

Web当然。

数据库需要过多的IO带宽+将实例或数据库添加到单个实例更容易,而孤立的Web服务器则受益更多。

类似的问题...... "Run Sharepoint 2003 on VMWare?"。 Sharepoint只是一个带有SQL Server后端的asp.net应用程序。

答案 1 :(得分:2)

大多数虚拟环境的缺点是I / O,尤其是磁盘。 SQL非常I / O密集型。我正在使用共享虚拟主机,慢速I / O正在杀死我。

也就是说,微软正在推动Hyper-V上的SQL。它是一个虚拟机管理程序,这意味着它在VM和硬件之间的层更薄,而且驱动程序是准本机的。这是他们的白皮书:http://download.microsoft.com/download/d/9/4/d948f981-926e-40fa-a026-5bfcf076d9b9/SQL2008inHyperV2008.docx

对于SQL来说,整体性能会下降约10%。好处是你可以快速将整个实例移动到另一个盒子,抬高RAM等等。

另一件需要考虑的事情是英特尔的企业级SSD驱动器(X25-E)。我想这在虚拟环境中会有很大帮助。当然,价格昂贵。

答案 2 :(得分:1)

我可能会根据应用服务器所需的计算量来决定数据库的计算量。

据说,我认为大多数时候DB不应该被虚拟化。对于必须确保数据在磁盘上保持良好和安全的数据库而言,虚拟化并不是太热,而添加另一个抽象层也无济于事。

答案 3 :(得分:1)

如果您有两台物理服务器,则无需虚拟化 - 将一台服务器用于IIS,一台服务器用于数据库。

如果您有一台物理服务器,则无需虚拟化。

如果我必须选择,它将是Web服务器。通过在物理服务器上运行,数据库将在性能方面受益。如果Web服务器是虚拟化的,则可以快速轻松地克隆它以创建Web服务器集群。

答案 4 :(得分:1)

借助今天的虚拟机管理程序和最佳实践,您可以虚拟化这两种基础架构。虚拟化数据库基础架构时,最好确保将数据库安装到基于SAN的系统上,以便IO性能不会成为瓶颈。

与所有事情一样,有正确和错误的做事方式,但遵循供应商最佳做法和测试将使您能够从VM实例中挤出最佳性能。

如果您希望虚拟化整个基础架构,那么各种供应商都会提供大量的白皮书和性能测试。

尽管虚拟化再次成为行业热门话题,各个供应商现在免费赠送虚拟机管理程序,但这并不意味着使用虚拟化是前进的方向。服务器整合是的,性能提升可能 - YMMV