我们有一台新服务器,HP DL360,64GB RAM,2x8 核 CPU,SAS HDD Raid1 阵列和一个 SSD Raid1 阵列。SSD 阵列配置了 2 个三星 850 Pro 设备(未经 HP 认证)。
我们安装了 Centos 7 操作系统作为主机操作系统,并且只有一台装有 Windows Server 2012 和 SQL Server 2012 的虚拟机,C 盘只有一个存储设备(SSD 阵列上的 qcow2 文件)。存储和网络通过 virt 驱动程序访问。虚拟机上的 IO 性能也非常好。分配给虚拟机的内存:20 GB。为虚拟机分配了 10 个 CPU。我们安装了一个 Web 应用程序(通过 IIS),它可以访问大约 20-30 家不同的公司(相同的数据库结构)
虚拟机在重启后运行良好,但经过一段时间(50 分钟 - 3 小时),我们性能大幅下降如果我们单独重启 SQL Server 服务,我们又会获得短暂的几十分钟的良好性能。
旧的生产环境运行良好(但只有一个 CPU,只有 8 GB 的 RAM),但我们想要一台更大的机器!所以不清楚会发生什么。当虚拟机开始出现缓慢行为时,没有 CPU 大量消耗,只是 Web 应用程序运行不佳。我们的需求没有激增。只有一件事似乎很奇怪,虚拟机消耗的内存从未达到 20GB 的限制。最高限制约为 8GB。
我们优化了 SQL Server,仅为 SQL 分配了 15 GB(最大内存)... 运行了各种测试和诊断工具(Toad Spotlight for SQL)。一切都很顺利。
我们不知道服务器为什么会变慢。我猜是某种硬件 kvm-guest VM 不兼容。在 KVM 中运行时,sql Server 设置可能存在问题吗?或者 SSD 在主机上存在兼容性问题?欢迎提出任何想法!
答案1
这个很简单!但我们花了两天时间才发现!有人安装了 32 位 MSSQL 版本。所以它运行良好,但在 10-15 分钟内性能下降并且实际上挂了!
重新安装了64位MSSQL解决方案,现在一切正常!