2010-09-10 99 views
0

当我们从暂存服务器传递到我们的生产服务器时,我们正在努力寻找ASP.NET应用程序性能下降的原因,并且我们希望听到您的意见,帮助我们找到瓶颈。Asp.net应用程序瓶颈识别:任何建议?

我们的登台服务器是带有4GB RAM,Windows Server 2003 R2 SP2 x64 Edition的英特尔酷睿2四核CPU Q8200(2.33 GHz)。数据库托管在Sql Server 2008 Express Edition上。一切似乎顺利进行。页面更改几乎是即时的广告页面加载时间(例如,在网格中切换页面)可以。

我们的生产服务器是双Xeon 3.00 GHz双核虚拟内存,Windows Server 2008 Web Edition SP2 x86 Edition。数据库托管在Sql Server 2008网络版上。

我们的应用程序使用经典的最佳实践(masterpages,CSS,AJAX,数据分页,静态资源客户端缓存,静态和动态IIS上的gzip压缩资源,服务器端缓存不频繁更改的数据...)。

我真的不明白什么可能导致应用程序在两种情况下运行如此不同。那可能是什么?缺少的RAM?生产服务器上的负载?网络限制?

我可以做些什么来缩小瓶颈的研究?

回答

1

您可以简单地在生产服务器上启用跟踪(不要忘记将其关闭)并查看您的页面加载的哪些阶段需要这么长时间)。

+0

这是一个很好的建议,但是...我怎么能发现这些长时间的加载是由应用程序引起的不同的东西造成的(例如在服务器上加载?) – Marconline 2010-09-10 08:16:23

+0

@Marconline - 我认为这可能是一个好地方开始。你可以看到你的代码是否运行缓慢 - 如果不是,那么它可能是网络带宽。您还可以关注服务器上的进程监视器。 – Paddy 2010-09-10 09:49:30

0

如果您可以轻松地将2 GB的内存添加到虚拟服务器,那么尝试一下,这很容易,可能很重要。检查任务管理器中的RAM使用情况,看看您使用的是多少。

这些服务器是否托管在同一地点或可能存在网络延迟差异?

在服务器上运行perfmon.msc并观察计数器,最大值是多少?