每次我运行我正在使用的项目的主页时,都要花费大量的时间来加载(6-8秒的页面加载时间)。使用webpagetest.org进行检查时,初始请求需要超过5000 or或5秒的时间。
环境设置:
在对IIS跟踪日志进行彻底调查和检查后,在ManagePipelineHandler模块下进行长时间等待的时间为7515ms/7.5秒( AspNetPagePreInitEnter,AspNetPageInitEnter和AspNetPageInitLeave).始终如此)。下面IIS跟踪日志上的示例:
当我搜索这个ASP.NET事件的挂起意味着什么时,我找不到造成这个挂起的具体答案,也找不到这个挂起的原因。
任何帮助都是非常感谢的。
发布于 2020-03-13 02:50:36
首先,你可以尝试禁用反病毒。
为了找出根本原因,建议转储文件,因为长时间等待发生在ManagePipelineHandler中。
我们可能需要通过每2秒生成一个转储来捕获2-3个转储文件。然后我们可以比较托管调用堆栈。它会告诉我们线程在做什么。只有当我们知道它在做什么时,我们才能提高它的性能。
如果您不确定如何分析转储文件,则可以尝试
https://www.microsoft.com/en-us/download/details.aspx?id=58210
如果您知道如何分析转储文件,那么您可以尝试使用WINDBG扩展mex。
!mex.aspxpagesext将显示所有当前请求提交它的线程。
只要我们知道线程ID,就可以使用mex.clrstack2!显示托管调用堆栈
https://stackoverflow.com/questions/60647544
复制相似问题