我有一个 ASP.Net 应用程序,它在托管计划中使用 SQL Server 数据库。
当我单击一个按钮转到一个新屏幕时,页面加载前会有很长时间的停顿。
使用 Chrome,我看到了这个:
“等待”表示什么问题?这是一个问题,在服务器上,获取数据的时间太长了吗?查询速度慢?有什么办法可以调试这个?
显示此暂停的行实际上是在回发后发生“重定向”的页面。
据我所知,Chrome 只会告诉您正在加载哪些资源以及每个资源所花费的时间。要对此进行调试,您需要像Antz Profiler这样的工具,它可以帮助您找到 C# 代码中的瓶颈。它将以分层方式突出显示哪些行花费的时间最长,因此您可以深入了解罪魁祸首。
如果您发现这是一条调用您的数据库的行,那么您可以使用SSMS中的查询分析器来调查 SQL 查询。如果您发布事件的代码,我会用任何看起来很明显的东西来更新答案。 page_load()
其他需要注意的是页面正在加载的资源images
、javascript
文件external libraries
等。如果您有很多 Javascript 文件,请确保它们是.min
版本,或者如果文件是自定义的,则可以考虑将代码添加到一个文件,并缩小生产版本。确保任何图像尺寸都很小,因为这会占用带宽。
查看用于创作快速加载 HTML 页面的提示以获取其他示例。
您还可以在这里找到一些很好的提示如何减少 ASP.NET 应用程序中的页面加载时间?