【发布时间】:2021-12-26 02:02:13
【问题描述】:
我有一些复杂的 ASP.NET Web Forms 网站。追踪显示:
所以基本上,我所有的数据库调用和其他复杂、耗时的事情通常比 ASP.NET Web 窗体渲染方法花费的时间更少。如何让它更快?
渲染通常需要大约 200-300 毫秒甚至更长的时间。这已经超过了谷歌对第一个字节的时间建议
是不是因为不小?但它大约是 40kb(渲染网站的大小)。 如果数据库查询速度很慢,我会知道该怎么做?但是在这里我不知道如何制作更快、更明显的内部 ASP.NET Web 表单方法?
【问题讨论】:
-
好吧,您必须在此处提供大量更多信息。试图责怪网络表单是愚蠢的——它不是网络表单,而是你在那个页面上拥有的东西的数量。更多的东西 = 更多的时间来渲染 - 有点简单。您可能想要复制页面并开始提取部分 - 看看哪个部分一直在占用。
-
我可以把我的渲染方法放在这里。放松一下,我不是在责怪网络表单:D
-
对于 SO 显示的标记可能太多了。我只能建议你制作一个副本,然后开始破解(删除)部分,直到你找到一个慢的部分。有时它可能会留下一些。我们的页面加载速度很慢 - 结果是我们忘记用较小的背景图像替换 2 兆的侧面背景图像。所以,我会复制页面 - 并开始切掉部分,直到它快速加载,这样你就可以缩小需要这么长时间的范围。
-
在尽可能多的控件上禁用 ViewState。这也应该有所帮助。