这是一个非常普遍的问题,所以我不会提供任何代码,因为我的项目相当大。
我有一个ASP.NET项目,我一直在维护和添加你一年。总共有大约30页,每个页面主要有几个gridview和SqlDataSource,并且在代码隐藏中通常不超过10-15个方法。还有一个相当庞大的LINQ-to-SQL dbml文件 - 大约有40-50个表。
应用程序大约需要30-40秒进行编译,我认为这并不算太糟糕 - 但主要问题是部署时,与同一服务器和应用程序池上的其他应用程序相比,加载页面的速度很慢 - 它加载一个简单的页面大约需要10秒钟。我非常有信心这个问题不会被隔离到任何特定页面 - 它似乎更像是一个全球性的应用程序问题。
我只是想知道web.config等中是否有任何设置我可以帮助加快速度?或者只是关于常见“错误”或开发人员遇到的问题的一般提示,而不是导致此问题。我的申请即将完成,速度问题确实污染了客户对它的看法。
答案 0 :(得分:3)
第一步是找出问题的根源,无论是应用程序还是数据库端。
申请方:
首先启用慢速页面的跟踪并查看ViewState的大小,有时大型ViewState会导致页面加载速度慢。
数据库方:
使用Sql Profiler查看确切需要大量时间完成的内容
有用的链接:
答案 1 :(得分:2)
最常见的疏忽可能是:在部署之前不要忘记关闭web.config中的调试。
<compilation debug="false" targetFramework="4.0">
其他一些人:
答案 2 :(得分:0)
现在该怎么做:
以后如何避免这种情况:
请记住,速度是的一项功能。如果您的应用程序像狗一样慢,客户不禁会认为它很糟糕。这意味着您希望尽快在“生产”硬件上运行应用程序并定期部署,以便在引入时捕获性能问题。拥有一个几乎完成的应用程序,需要10秒钟来传递页面,这没什么好玩的。希望你很幸运,可以通过配置解决大部分问题。如果你运气不好,你可能需要进行一些严肃的重构。
例如,如果你使用ViewState假装它是神奇的和免费的,你可能不得不重做一些依赖。
保持穿短皮带。你的应用程序将是活泼的,人们会 认为你很棒。