【发布时间】:2014-04-09 10:37:23
【问题描述】:
我有一个想要提高效率的应用程序 - 它对任何资源的征税都不足以让我将其识别为瓶颈,因此该应用程序可能正在做一些妨碍完全效率的事情。
应用程序从一个 SQL Server 实例上的数据库中提取数据,对其进行一些操作,然后将其写入另一个 SQL Server 实例上的数据库 - 所有这些都在一台计算机上。它不会并行执行任何操作。
当应用程序运行时(可能需要几个小时),4 个 CPU 内核中没有一个内核被最大化(它们每个内核的利用率都徘徊在 40-60% 左右),磁盘几乎处于空闲状态,并且使用的 RAM 很少。
报告值:
Target SQL Server instance: ~10% CPU utilization, 1.3GB RAM
Source SQL Server instance: ~10% CPU utilization, 300MB RAM
Application: ~6% CPU utilization, 45MB RAM
所有工作都在一个磁盘上进行,在操作期间平均写入速度约为 100KB/s。根据任务管理器,“活动时间”通常为 0%,偶尔会在 1% 到 5% 之间闪烁一秒钟左右。平均响应时间,同样根据任务管理器,在 0ms 到 20ms 之间移动,主要表现在 0.5 到 2ms 之间。
【问题讨论】:
-
我不太明白它是如何工作的。操作不佳可能是由于硬件、操作系统或服务器的某些错误配置造成的。你使用什么操作系统?不过,看看msdn.microsoft.com/en-us/library/ff647793.aspx。
标签: sql-server io cpu performance