我在我们制作的网站中遇到性能问题,但我不确定如何开始进行诊断。
简短的描述是:我们有一个非常小的站点(http://hearablog.com),在非常糟糕的专用服务器中,CPU总是非常高,有时它会保持100%持续几分钟,而w3wp.exe却是非常糟糕的专用服务器。正在占用大部分。典型的情况是w3wp.exe占60%,而SQL Server约占30%。我们的数据库也很小。
详细说明和更多详细信息:
该网站由Cari.Net托管在非常糟糕的服务器中。从一开始,我们就感觉到服务器无法正常运行,就像有些事情可能花费太长时间一样,因此从一开始就可能是配置问题。这可能也是我们得到了一个虚拟服务器,而我们应该有一个专门的一个,虽然我们没有证据说会中指出,除了服务器往往是相当缓慢的事实。
该服务器是Windows 2008 Standard 64位,带有SQL 2008 Express
硬件是Celeron 2.80 GHz,1Gb RAM
该网站是在ASP.Net MVC中使用实体框架进行数据访问而开发的。
现在,这是非常糟糕的硬件,但是我与这些人一起拥有其他服务器,它们的硬件相当(或更糟),并且性能比这更好。也就是说,其他服务器具有W2003和SQL2005,并且我使用的是ASP.Net“ WebForms” 2.0,没有MVC,没有LINQ,没有EF;所以我不确定是否要到2008年/其他因素是否意味着预期会有很大的性能损失。
我定期提供MP3文件(5-20 Mb),这是一个有点不寻常的负载,也许正在引起某种问题?
这会导致w3wp使用大量CPU吗?磁盘使用率似乎很低。内存通常在90%左右,但是磁盘使用率似乎表明它的分页不多。
我每天都会收到大量有关SQL超时的电子邮件,这些查询花费了30秒钟以上的时间,尽管我们所有的查询都非常简单(或者应该是,但是EF可能会搞砸了)。
这是在100%CPU的“冲刺”之一中资源监视器的外观,以防万一。
以及一些性能计数器的快照:
现在,令我非常困惑的是w3wp的CPU使用率是如此之高。它实际上应该做的不多...所以我的问题是...
- 有什么办法找出它在做什么?甚至可以进行简介?
- 我应该看什么性能指标?
- 鉴于这种硬件/软件配置,这是可以预期的吗?
- 这可能是由于某种配置故障引起的,您将在哪里开始寻找?
非常感谢你。
丹尼尔·麦格罗拉(Daniel Magliola)