【问题标题】:Web Development: What page load times do you aim for?Web 开发:您的目标页面加载时间是多少?
【发布时间】:2009-10-18 12:25:39
【问题描述】:

开发机器上的网站页面加载时间当然只是一个粗略的性能指标,在转向生产时还会有许多其他因素,但它们仍然可以作为衡量标准。

所以,我只是想知道您在开发时的目标页面加载时间是多少?

  • 我的意思是 Dev Machine/Server 上的页面加载时间
  • 并且,在包含实际数量的数据库调用的页面上
  • 还请说明您正在使用的平台/技术。

我知道那里的实际机器可能会有很大的性能范围,我只是在寻找粗略的数字。

谢谢

【问题讨论】:

  • 如何根据抢先测试预测实际加载时间难道不是更有用的问题吗?
  • 也许——你为什么不问呢? ;p

标签: performance metrics


【解决方案1】:

不到 5 秒。

【讨论】:

    【解决方案2】:

    如果它只是在我的开发机器上,我希望它基本上是即时的。我在这里说的是 10 毫秒。当然,这只是为了生成和交付 HTML。

    您的意思是,还是指完整的页面加载/渲染时间(html 下载/解析/渲染、图像下载/显示、css 下载/解析/渲染、javascript 下载/执行、flash 下载/插件启动/执行, ETC)?后者真的很难量化,因为大部分时间会在客户端机器上,在网络浏览器中消耗掉。

    如果您只是想在本地网络上使用免税服务器来控制体面的下载 + 渲染时间,那么我会拍摄几秒钟......不超过 5 次(假设您的客户端机器不错) .

    【讨论】:

    • 是的,我真的在谈论生成 HTML 的时间(使用 db 调用等)。在这种情况下,我对服务器响应时间更感兴趣。谢谢。
    【解决方案3】:

    棘手的问题。

    对于常规网络应用,您不希望页面加载时间超过 5 秒。 但我们不要忘记:

    • 20%-80% 规则适用于此;如果加载 HTML 代码需要 1 秒,则总渲染/加载时间可能是 5 秒左右(如fiXedd 所述)。
    • 在开发服务器上,您通常不会处理真正的交易(流量、数据库负载大小 - 条目的数量会产生巨大的差异)
    • 您希望考虑用户希望您的应用程序的行为方式。 5 秒的加载时间可能足以显示偏好,但您的基本或杀手级功能应该需要更少的时间。

    所以在我看来,这里有一个简单的方法来获得一个简单的网络应用程序的粗略数据(例如,使用 Spring/Tapestry):

    1. 根据您的应用配置文件对页面/操作进行排序(哪些页面应该快如闪电?)并为它们提供生产环境的粗略数字
    2. 然后考虑浏览器加载/渲染的内容。除以 5 是一个好的开始,尽管您可以使用 best practices 来减少该时间。
    3. 考虑一下您的生产环境(数据库负载、条目数、流量...),并获得额外的利润。
    4. 您已经在生产服务器上获得了目标加载时间;现在由您和您的开发服务器来考虑您在开发平台上的目标加载时间:-D

    【讨论】:

      【解决方案4】:

      我们用于识别服务器端问题的最有用的基准之一是网络服务器本身从收到请求到刷新响应所用的“内部”时间。这意味着忽略网络流量/延迟和页面呈现时间。

      我们有一些自定义组件 (.net) 测量这个时间并将其注入 HTTP 响应标头(我们设置了一个称为 X-Server-Response 的标头);我们可以使用我们的自动化测试工具提取这些数据,这意味着我们可以随时间(以及在不同环境之间)对其进行测量。

      通过测量这个时间,您可以非常可靠地了解原始应用程序的性能 - 如果您的页面速度较慢,需要很长时间才能呈现,但 HTTP 响应标头显示它在 50 毫秒内完成了工作,那么您就知道了有网络/浏览器问题。

      一旦您将应用程序投入生产,您(应该)拥有缓存、静态文件子域、js/css 缩小等内容 - 所有这些都可以提供巨大的性能提升(尤其是缓存),但可以还掩盖了底层应用程序问题(例如进行数百次数据库调用的页面。)

      总而言之,我们这次使用的值是低于 1 秒。

      在我们为客户提供的性能方面,我们通常使用 2-3s 用于只读页面,最多使用 5s 用于交易页面(注册、结帐、上传等)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-19
        • 2011-03-07
        • 1970-01-01
        • 2020-09-09
        • 2012-04-09
        相关资源
        最近更新 更多