- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在管理中型公司数据库。最近我们进行了大规模的系统升级并切换到虚拟机环境。部署后,我们遇到性能问题,显然升级系统上的 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 性能比较如下:
新服务器:
旧服务器:
即使是最基本的操作:
select * from table
从大多数使用的表中运行更多的时间来检索结果。存储过程运行速度也较慢。
例子:
我不知道是什么导致了这个问题。任何帮助将不胜感激。
编辑:两台服务器具有相同的 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/
我是一名优秀的程序员,十分优秀!