zoukankan      html  css  js  c++  java
  • 前端性能优化(八)

    删除不必要的下载

    最快和最好的优化资源是不需要下载的资源。您最近是否审查过资源? 您应该这么做,而且应该定期这么做,以确保每个资源都有助于提供更好的用户体验。

    最快和最优的资源是不需要下载的资源。当然,这看起来可能像是句废话,但实际上,却往往被忽视:作为一名性能工程师,您的职责就是始终保持批判的眼光,抓住一切机会删除应用中不必要的资源。与您的团队一起,对隐式和显式的假设进行质询和定期重检,就不失为一种好做法。比如以下几个例子:

    • 我们的网页上一直都包含着资源 X,但下载和显示该资源的费用与它为用户提供的价值是否成正比? 我们是否能够评估并证明其价值?
    • 该资源 - 特别是第三方资源 - 是否能保证稳定的性能? 该资源是否处于关键路径中?或是否需要处于关键路径中? 如果该资源处于关键路径中,是否会成为我们网站的单点故障?也就是说,如果该资源不可用,是否会影响网页的性能和用户体验?
    • 该资源是否需要 SLA?或是否具有 SLA? 该资源是否会遵循提升性能的最佳做法(压缩、缓存等)?

    我们的网页往往会包含一些不必要的资源;或者更糟的是,包含的某些资源会影响网页性能,同时还无法给访问者或所处的网站带来太大价值。这同样适用于我们自己的和第三方的资源和小部件:

    • 网站 A 已决定在主页上显示一个照片循环播放器,使访问者只需点击即可预览多张照片 - 所有照片都会在加载网页时进行加载,用户通过点击查看下一张照片。
      • 问题:是否统计过有多少用户在循环播放器中查看多张照片? 您可能给大多数访问者造成了不必要的昂贵下载开销,让他们下载了很多自己永远不需要观看的资源。
    • 网站 B 已决定安装一个第三方小部件来显示相关内容、提高社交参与度或提供某种其他服务。
      • 问题:是否跟踪过有多少访问者使用这个小部件或点击浏览这个小部件提供的内容? 这个小部件带来的社交互动的有利影响,是否能抵消下载它所需额外开销的不利影响?

    正如您所看到的,尽管删除不必要的下载看起来似乎微不足道,实际上却正相反,要做好往往需要大量周密的思考和评估。实际上,要实现最佳效果,应针对网页上的每个资源,定期清点和重新评估上述问题。

  • 相关阅读:
    试题 E: 迷宫
    对拍程序
    人群中钻出个光头
    HDU-魔咒词典(字符串hash)
    第八集 你明明自己也生病了,却还是要陪着我
    智力问答 50倒计时
    数据结构
    LeetCode刷题 fIRST MISSING POSITIVE
    LeetCode Best to buy and sell stock
    LeetCode Rotatelmage
  • 原文地址:https://www.cnblogs.com/LiJianBlog/p/4814370.html
Copyright © 2011-2022 走看看