1

星期五,我们的 MS SQL-server 2012 突然在 New Relic(性能监视器)中显示 100% 的磁盘 I/O 利用率。我们没有进行任何更新,并且 Windows 更新显示没有发生任何事情。服务器上的负载很低,因为星期五我们网站上的流量很低。即使在周末,磁盘 I/O 利用率也一直很高。

该服务器是一台具有 16 个进程和 36 GB 内存的 VM-Ware 机器。磁盘位于 san。

我们每秒大约有 5 mb 的读取,而数据库服务器上的写入非常少。服务器每秒大约有 500 次 I/O 操作。CPU 为 25%

该数据库存储在服务器上单独驱动器上的 12 个文件中。没有长时间运行的任务正在运行。服务器已进行碎片整理,数据库上的所有索引都已重建。

sql server 上的 perfmon 在 peek 5 处显示磁盘 que。

我们的服务器人员说 SAN 运行平稳。但我的猜测是,那个星期五发生的事情让我们的 SQL 不得不等待文件操作。

有任何想法吗?

4

2 回答 2

0

发生这种情况的原因有很多。

最明显的备份计划?

如果周五您的流量非常低,以至于 IIS 在空闲超时后关闭了您的应用程序池,那么对该网站的下一次点击将触发重新加载在应用程序启动时缓存的所有数据。

由于您的数据库服务器是虚拟化的,因此该服务器的 IO 也可能是虚拟化的(而不是将 SQL Server 虚拟机直接连接到物理主机上的存储)。在这种情况下,您的数据库服务器性能可能会受到同一主机上的其他机器使到 SAN 的链接饱和的限制。

于 2014-03-24T09:40:54.833 回答
0

原因是同一主机上的另一个 SQL 服务器经常访问磁盘

于 2014-10-17T13:16:40.640 回答