sql-server - 系统升级后虚拟机上的 SQL Server 性能不佳

标签 sql-server database performance virtual-machine

我正在管理中型公司数据库。最近我们进行了大规模的系统升级并切换到虚拟机环境。部署后,我们遇到性能问题,显然升级系统上的 SQL Server 运行速度比旧配置慢。

配置如下:

  • 旧服务器:SQL Server 2008、10gb Ram、Intel Xeon E5420 x2(物理机)在 Windows Server 2008 上运行

  • 新服务器:SQL Server 2014、64gb Ram、Intel E5 2660 x4(虚拟机)在 Windows Server 2012 上运行

非常基本的 IO 性能比较如下:

新服务器:

new server

旧服务器:

old server

即使是最基本的操作:

select * from table

从大多数使用的表中运行更多的时间来检索结果。存储过程运行速度也较慢。

例子:

  • 新服务器:01:39 分钟,3285365 行
  • 旧服务器:01:00 分钟,3339738 行

我不知道是什么导致了这个问题。任何帮助将不胜感激。

编辑: 两台服务器具有相同的 sql 配置 tempdb和datadb是分开的

最佳答案

这可能不是您想听到的,但虚拟机总是比物理服务器慢,因为实现虚拟机的开销很大。此外,2660 的二级缓存比旧处理器少得多。

除了确保为 SQL Server 的 VM 分配了尽可能多的 RAM 和核心之外,我不确定该告诉您什么,并且 SQL Server 配置为实际使用它们。

此外,磁盘 I/O 也是一个大问题。两个系统的驱动器和 Controller 是否相似?

VMWare 有一份关于该主题的白皮书,所以至少您并不孤单。 8-)

http://www.vmware.com/files/pdf/solutions/SQL_Server_on_VMware-Best_Practices_Guide.pdf

关于sql-server - 系统升级后虚拟机上的 SQL Server 性能不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28596802/

相关文章:

linux - 数据通过 TCP/IP 堆栈的传输时间 (Linux)

javascript - Mongodb find() 返回未定义

java - Derby 内存数据库 : running out of memory on select into - statements

performance - 加速上限

c# - 在 C# 中将 ODBC MySQL 字符串替换为 SQL Server 字符串

database - 混合 C++/CLI 代码与 Berkeley DB

mysql - MBR包含距离位置帮助MySQL

sql-server - 如何使用 DBeaver 创建 SQL Server 存储过程?

sql - 如何sql选择具有两种状态的产品?

c# - 如何对同时包含字符串和数值的 varchar 类型列进行排序