常量SQL Server 80%CPU利用率

Ali*_*ori 5 asp.net performance cpu-usage sql-server-performance sql-server-2012

我们在专用的VPS上有一个小的(现在)Asp.Net MVC 5网站.当我去服务器和启动任务管理器时,我看到"SQL Server Windows NT - 64位"正在使用大约80%的CPU和170MB的RAM,而IIS正在使用6%的CPU和400MB的RAM.服务器规格是:

  • CPU 1.90Ghz双核
  • 内存2GB
  • Windows Server 2012
  • SQL Server Express 2012
  • 磁盘空间:25GB,2.35免费.

数据库不是很大.它的备份不到10MB.

我试图尽可能地优化网站.我为很多控制器添加了缓存,并为很多控制器实现了甜甜圈缓存.但是今天,即使在线只有5个用户,我们的搜索也行不通.我重新启动了服务器上的Windows,它开始工作,但我得到了服务器启动时的高CPU使用率.有趣的是,当我打开SQL Server Management Studio并尝试获取顶级CPU消耗查询的报告时,它表示目前没有查询消耗任何CPU!但与此同时我可以看到SQL服务器消耗了大量的CPU.如何检查所有CPU的内容?以下是服务器的图片:

高CPU使用率

我对设计和实施网站非常谨慎.所有数据库访问都是通过最新版本的Entity Framework.我只是想知道服务器的规格是否很低.任何帮助将非常感谢.

更新:

这是sp_who2存储过程的结果.

sp_who2

小智 0

我同意运行 SQL Profiler 来发现大型查询持续时间和大型写入操作。尝试运行 perfmon 并发现任何潜在的连接泄漏(回收的连接)。