请注意,所有页面都已关闭ViewState。
对HTML进行gzip压缩 - 不会提高呈现速度,但会大大减小页面大小。
确保不使用基于表格的布局,并确保使用的任何JavaScript或CSS都经过了最小化处理、gzip压缩,并链接到头部以便可以被缓存。
javascript:var tags = document.getElementsByTagName('*');alert('Page weight: ' + tags.length + ' tags.');
(您甚至可以将其保存为书签)
如果您的标签超过500个,您可能需要尽可能清理一些“标签混乱”的内容。
Digg的主页有大约1000个标签!因此渲染速度非常慢(第一次)
MSN的主页有700多个标签……因此渲染速度相当慢
Yahoo的主页有600个标签…… 因此渲染速度更快
Google的主页只有92个标签!……因此渲染速度像闪电一样快!
使用第三方工具压缩HTML或至少使用IIS6内置的压缩选项 (Microsoft TechNet)。
评估第三方控件是否必要。如果是必要的,根据自己的需求编写自己的控件和/或使用它们的控件,如果它们是“AJAX启用”的。大多数流行的第三方控件都具有AJAX功能,并允许在页面其余部分加载后填充数据,从而向用户显示一些进度。
如果不需要,关闭ViewState
。在使用第三方控件时,ViewState
可能会变得非常庞大。
更新:我已经在http://weblogs.asp.net/jgaylord/archive/2008/09/29/web-site-performance.aspx上撰写了相关博客。
压缩并不会加速渲染,它只会加速内容传递。
我建议进行一些“分析” - 制作一个包含大量某种类型的HTML对象(如表格行或某些常见的div容器)的测试页面 - 然后使用像YSlow这样的插件测试渲染例如10K此类元素需要多长时间。分析后,您将看到实际的渲染瓶颈..
顺便说一句,问题实际上可能是与内容传递有关,而不是渲染。 YSlow也会显示出问题所在。您还可以使用一些视觉工具来验证站点加载速度,例如http://Site-Perf.com/。
如果问题出在控件本身,那么可能需要寻找新的供应商。我知道这将涉及到时间和金钱的再投资,但是如果您无法通过之前提到的压缩方法获得所需的结果,那么这个问题可能需要被放置到下一个主要版本中。
还有,请记住,在您可以的情况下将EnableViewstate设置为false。