ASP.NET应用程序部署问题

时间:2009-05-14 20:31:55

标签: asp.net iis deployment

我已经将用ASP.NET 2.0编写的应用程序部署到生产环境中,并且遇到了一些延迟问题。页面加载大约需要4-5秒。 GridView刷新大约需要同时加载。

应用程序在开发盒上正常运行。我在服务器上进行了以下调查

  1. 检查可用内存...使用了80%。
  2. 骗了处理器... 1%
  3. 检查来自perfmon的磁盘IO,少于15%
  4. 服务器配置

    Windows Server 2003 Sp2 双2.0 GZH 2GB RAM

    仅运行SQL Server 2005和IIS

    还有什么我可以排除故障吗?我还检查了事件日志中的错误,它很干净。

    EDITED~我刚拿到的唯一区别是在DEV盒子上我使用的是IE7而客户端正在使用IE6 - 这可能是个问题吗?

    更新〜我将所有客户更新到IE8并注意到性能提高了30%。我终于发现我在web.config文件中留下了我的debug = true。设置为flase使应用程序恢复稳定的性能...我仍然无法相信我做到了。

5 个答案:

答案 0 :(得分:2)

我要做的第一件事是启用跟踪。 (见:http://www.4guysfromrolla.com/webtech/081501-1.shtml

然后在页面生成代码中添加跟踪点,以便了解页面构建的每个部分需要多长时间:

System.Diagnostics.Trace.Write(
                "Starting Page init",
                "TraceCheck");
//Init page

System.Diagnostics.Trace.Write(
                "End Page init",
                "TraceCheck");

System.Diagnostics.Trace.Write(
                "Starting Data Fetch",
                "TraceCheck");
//Get Data

System.Diagnostics.Trace.Write(
                "End Data Fetch",
                "TraceCheck");

通过这种方式,您可以准确了解每个阶段的持续时间,然后定位该区域。

答案 1 :(得分:1)

同时检查您的页面大小。我的一位开发人员朋友曾将整个表格加载到viewstate中。在本地计算机上进行开发时,12兆字节的页面将会消失,但在生产中会立即变得明显。

答案 2 :(得分:1)

仔细检查您的应用程序是否未在调试模式下运行。在web.config文件中,检查debug下的system.web\compilation属性是否设置为false。

除了使应用程序运行速度更慢并且使用更多系统内存之外,您还会遇到页面加载速度慢的问题,因为在调试模式下会记录缓存。

答案 3 :(得分:0)

您是否针对与测试中的SQL Server相同或不同的SQL Server运行?

为了找出来自您的时间可以在页面加载中添加一些跟踪语句,然后在打开跟踪的情况下加载页面。这可能有助于指出问题。

另外,您的开发盒有哪些规格?同样的?

答案 4 :(得分:0)

根据您拥有的Visual Studio版本,Team Developer有一个您可能想要调查的性能向导。

此外,如果你使用IE 8,它有一个Profiler,它可以让你看到网站在浏览器中加载多长时间。首先要确定的是时间是客户端还是服务器端。

如果是客户端,请开始查看您拥有的javascript并优化/删除它。

如果是服务器端,则需要查看所有性能计数器(perfmon)。例如,由于大量的JIT正在进行,我们有一个在生产服务器上爬行的应用程序。

您还需要查看Web和数据库服务器之间的通信。查询需要多长时间?盒子是否会颠覆磁盘驱动器?等