调试运行缓慢的 ASP.NET 网站?
Posted
技术标签:
【中文标题】调试运行缓慢的 ASP.NET 网站?【英文标题】:Debugging an ASP.NET website that is running slowly? 【发布时间】:2018-09-21 13:17:21 【问题描述】:越来越多的用户抱怨我们的 ASP.NET 4.5.2 网站运行缓慢或只是普遍“冻结”。从我们的测试服务器和我们的工作站看起来一切都很好,但我们可能使用比我们的客户更好的工作站硬件和浏览器。我们正在运行 ASP.NET 4.5.2、C#、SQL Server。
在调试这样一个模糊的请求时,我们应该专注于哪些方面?我应该查看应用服务器上的系统性能和资源吗? SQL 服务器上的系统性能和资源?我们正在跟踪应用程序页面的加载时间,尽管客户投诉有所增加,但与几个月前相比,它们似乎并没有过多或发生太大变化。
开始我们的调查有哪些最佳实践,提高整体性能的低垂果实在哪里?
【问题讨论】:
从数据库的角度来看,您是否有大量数据/数据密集型?您的数据库的大小是否增长了很多或最近发生了变化?您可以运行扩展事件并查找长时间运行的查询 您首先需要确定慢的是什么,一般是网络、应用程序还是系统。 您需要从提出投诉的用户那里获得更多详细信息。 stackify.com/asp-net-performance-tools-you-need-to-know 【参考方案1】:如果您的页面在白天“有时”变慢,我建议首先检查 IIS 服务器上的性能监视器。这很容易成为服务器达到其限制(机器或 IIS 设置)的问题。验证这一点的一种方法是创建一个沙盒服务器并从那里为您的测试人员运行您的应用程序。
之后,如果你正在执行存储过程,在其中添加一个监控函数来收集一些案例,然后检查是否有任何一个导致进程冻结或延迟。
我还必须在这里提到锁定表的可能性,因此可能需要进行代码审查。 (以上都是最耗时的..)
这应该能够提示您问题的根源。
祝你好运
【讨论】:
【参考方案2】:如果您怀疑某些 SQL 问题,您可以尝试运行 Sql Server Profiler 来检查当前正在运行的内容以及是否存在可能“冻结”您的系统的内容。这样您就可以在系统运行缓慢时检查发生了什么。
Reference
【讨论】:
以上是关于调试运行缓慢的 ASP.NET 网站?的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Web API 身份验证(Web + 移动)
无法调试在 Docker 中运行的 ASP.NET 网站中的启动代码
win7+iis7.5+asp.net下 CS0016: 未能写入输出文件“c:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NE