Performance 动态生成的网页的创建速度应该有多快?

Performance 动态生成的网页的创建速度应该有多快?,performance,perception,Performance,Perception,我有许多数据驱动的基于web的应用程序,为内部和公共用户提供服务,我想衡量一下,为了保持用户满意度和可伸缩性,页面的创建速度(以毫秒为单位) 那么,创建一个页面来维护一个快速站点的速度有多快 这些站点是在ASP classic中开发的,SQL Server后端生成XML记录集,我使用XSLT呈现这些记录集。不是最有效的技术,根据页面的复杂性,创建页面需要7毫秒到120毫秒(即第一行代码和“Response.Write”之间的计时器间隔)。较慢的页面是由于数据库运行更大、更复杂的查询。即使我将所有

我有许多数据驱动的基于web的应用程序,为内部和公共用户提供服务,我想衡量一下,为了保持用户满意度和可伸缩性,页面的创建速度(以毫秒为单位)

那么,创建一个页面来维护一个快速站点的速度有多快

这些站点是在ASP classic中开发的,SQL Server后端生成XML记录集,我使用XSLT呈现这些记录集。不是最有效的技术,根据页面的复杂性,创建页面需要7毫秒到120毫秒(即第一行代码和“Response.Write”之间的计时器间隔)。较慢的页面是由于数据库运行更大、更复杂的查询。即使我将所有ASP经典重新写入ASP.NET,也不会显著提高整个页面的渲染速度

我经常听到Jeff说他希望如此,他的博客也讨论了他的和数据库的优化,但在优化代码方面,你还需要走多远?使用StringBuffer而不是String+String来减少毫秒是不是很好地利用了我的时间

[澄清]


在什么时候,你开始认为“创建此页面花费的时间太长了?”。是超过20毫秒,还是超过200毫秒,还是一个页面需要一秒钟来构建?你的“目标时间”是多少?

如果你只需改变一件事就可以减少毫秒,那就去做吧


您可能还需要研究缓存数据库请求。

用户不关心您准备数据的速度,他们只关心页面的实际加载时间

如果在渲染过程中有很多开销,用户会感觉到站点运行缓慢。关于经典的ASP,字符串连接被认为是非常糟糕的做法,因为当您达到临界字符串长度时,它会非常慢,这将开始成为服务器的负担


使用数组(jscript)或.NET StringBuffer可以显著缩短渲染时间。除了卸载不必要的CPU使用量,这将允许您的服务器处理更多的流量,我想说,这种明显的优化非常值得做。

这完全取决于您的受众和目标-我在上使用了一个目标“onload”事件的应用程序,在这里可以找到关于这个主题的一个非常有趣的屏幕广播:


虽然它是由Rails人员制作的,但它完全适用于其他框架。

影响用户对服务器响应时间满意度的一个因素是他请求新页面的频率。如果你正在呈现(比如)一个包含大量信息的页面,而用户将花一些时间阅读这些信息,那么较长的“呈现”时间是可以的。相反,如果一个人快速浏览网页,他会想要一个近乎即时的响应

例如,如果你在一个新闻网站上,如果下一页需要一到两秒钟的时间,你可能会没事,因为你要花30秒来阅读它


另一方面,如果您正在浏览交互式地图,您可能希望响应时间少于一秒钟。

re:澄清-您无法明确回答此问题。(现在已经过时了)研究表明,大多数用户对负载的反应非常消极,超过3秒,而我所工作的大多数地方都会考虑服务器时间超过10ms,但这是一个非常模糊的区域。即使准确地定义您正在测量的内容也很模糊。我同意,避免vb/asp中有很好文档记录的“字符串连接”问题是非常值得的,这也是我使用ADO的rs.Save和XSLT来完成所有繁重工作的原因。尽早刷新缓冲区当用户请求页面时,后端服务器需要200到500毫秒的时间将HTML页面缝合在一起。在此期间,浏览器在等待数据到达时处于空闲状态。一个考虑FLASH的好地方是在头部后面,因为头部的HTML通常更容易生成,它允许你包括任何CSS和JavaScript文件,以便浏览器在后端仍在处理时并行获取。(对不起上面的格式)-雅虎文档非常好,事实似乎确实如此,你可以通过在网站的“网络”方面花费高质量的时间来提高对性能的整体感知。实际的HTML页面呈现时间相对较少……我提出这个问题的原因之一是人们对asp classic、Rails、Ruby等“慢”框架的所有抨击都是为了讨论“它需要多快?”