• 100ms的延迟让亚马逊损失1%销量,如何快速降低网站延迟?


    整理 | 郭露
    出品 | CSDN(ID:CSDNnews)

    当你打开购物网站,你愿意花多久的时间等它加载好所有内容?5秒?10秒?还是20秒?Dynatrace研究表示,大部分人的耐心其实只有3秒钟。3秒内还没有加载出来人们可能会转而选择另一个网站。人们的耐心往往不允许购物网站过多的加载时间。因此对于这些网站来说,这势必会损失大量的销量。此时时间就是金钱。

    最近,网站开发工程师Amila Welihinda表示,100ms的延迟会让亚马逊网站的销量下跌1%。对此他表示,其团队正在进行开发,目标是将亚马逊网站的加载时间减半。

    图源自推特

    经过大量的实践,该团队摸索出了几种优化解决方案:
    1.最先加载折叠上方的内容
    在去掉部分内容和功能以加载ATF后,网站延迟缩短到了500ms,销售量增加了5%。

    2. 采用更好的渲染框架
    亚马逊官网采用服务器端渲染,而没有客户端渲染框架。潜在的延迟问题并不能证明这一点。Amila团队一直使用jQuery 1.6.4,但其速度并未达到预期。

    3. 追踪关键信息
    追踪关键性能指标,从而更加针对性地进行优化。

    主要追踪信息:

    • 折叠上方加载内容的时间
    • 显示第一件物品的时间
    • 页面完整显示的时间
    • 加载广告的时间
    • 页面布局就绪的时间

    4. 对所有重大变化进行A/B测试
    如果网页版本表现不佳,导致销量下降,团队会直接采用旧版本。

    5. 删除未使用的补丁
    由于亚马逊仍然使用的是IE 10,并不支持Promises。因此团队在IE上进行了优化,而去掉了其他浏览器上的兼容包。

    6. 为各浏览器提供不同的bundle
    在服务器端识别浏览器(通过浏览器嗅探),并提供针对该浏览器的bundle包。团队可通过模块的文件名(例如:./my-feature.ie.js)定义特定浏览器的功能。

  • 相关阅读:
    什么是无线接入点 Access point?
    HNUCM-2022年秋季学期《算法分析与设计》练习12
    # HTB-Tier2- Vaccine
    Kotlin快速运用第三阶段
    Python读取文件
    Java学习笔记(二)——变量
    REDIS篇(4)——命令执行过程(readQueryFromClient)
    如何优雅得关闭协程呢
    LeetCode HOT 100 —— 48.旋转图像
    是否在业务中使用大语言模型?
  • 原文地址:https://blog.csdn.net/weixin_39787030/article/details/122702483