当前位置: 首页 > 编程语言 > C#

ASP.NET网站生产服务器上的性能下降分享

时间:2023-04-10 20:13:11 C#

C#学习教程:在ASP.NET网站生产服务器上性能缓慢在我的开发环境中执行120毫秒的页面在服务器上执行需要400毫秒。我使用探查器监视SQL服务器,在服务器上花费400毫秒的页面上运行的查询只需要大约50毫秒即可完成-所以我很确定我的问题不在于SQL服务器。我的开发机器是具有6GBRAM的IntelI7,生产服务器是具有16GBRAM的2xAMD四核处理器。您可以将这一点考虑在内,以改进您网站的性能。除非需要,否则设置debug=false以关闭跟踪,如果不需要则关闭会话状态。ASP.NET自动管理会话状态。但是,如果您不需要Sessions,则禁用它有助于提高性能。在不需要时禁用ViewState。避免频繁往返数据库并避免抛出异常。异常是处理应用程序逻辑中发生的错误的更好方法。但是,抛出异常是一种昂贵的资源,必须避免。使用特定的异常并尽可能少地使用以避免资源开销使用缓存来提高应用程序性能。使用Finally方法终止资源编辑:使用此站点测量您的网站性能http://www.websiteoptimization.com/services/analyze/http://www.websitepulse.com/您已在web.config=false?服务器是64位的吗?尝试为您的应用程序创建专用应用程序池并将应用程序池设置为在32位经典模式下运行。有什么不同?您是预编译该类还是将其设置为在运行时编译?在页面中设置Trace="true"(<%@PageTrace="true"...),当它在浏览器中加载时,您将在页面底部获得很多有用的信息。您将确切知道在服务器上处理请求需要多长时间。如果时间足够短,则问题可能出在IIS设置中。将它们与您的开发环境中的那些进行比较。您的SQL服务器是在另一台服务器上用于生产还是本地开发?阅读所有建议后,似乎没有任何效果,开始一点一点地从您的站点获取代码,看看它如何影响时间。一次删除大约10行代码或HTML,看看是否存在巨大差异。否则,它可能与IIS有关,抱歉,我不是IIS专家。大量视图状态导致传输延迟?这是您服务器上唯一的网站吗?16GB是相当不错的内存,但如果同一台服务器上有许多热门网站,它们会占用资源和CPU时间。除此之外,我想不出您的网站在生产中比在开发中慢的原因。你看过指数了吗?他们都在服务器上?你需要减少变量。尝试消除两个环境之间的所有差异,并进行一项一项的更改,直到您找出问题所在。确保两个环境中的web.config相同。确保两个环境都指向第三个框中的同一数据库服务器。确保您在两个环境中使用相同版本的IIS。确保IIS配置在两个环境中相同。在两个环境中运行相同的测试数据。等等......在我的开发机器和生产机器之间的性能差异上撞了很长时间之后,我终于让我深深地感受到处理器实际上比你想象的更重要.我从基于AMD的解决方案更改为基于Intel的解决方案(Xeon!),并获得了0.3GHz和更快的磁盘。我还获得了性能提升,而不是像我的开发机器一样慢x3,它现在慢了x0.75-显然仍然不是我的开发机器能够达到的闪电速度,但它越来越接近了。在进一步调试时,我注意到大部分性能问题(实际上并不奇怪)来自LINQtoSQL必须编译查询,对我来说奇怪的是,一旦我尝试预编译LINQ查询并运行相同的Stuff我的机器,开发机器都变得更快了。以上就是《C#学习教程:ASP.NET网站生产服务器性能下降》的全部内容,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: