为什么优步的应用程序慢才能加载?这是由于预取
编辑注意:主题演讲系统的启动枪战索引对三屏挑战 - 桌面,智能手机和平板电脑提供了一些洞察力 - 现在面向Web存在的任何人。我们将每月从主题演讲带给您一系列新的数据。查看以前的启动枪战结果。
Keynote刚刚对启动枪战进行了重大刷新,以跟上最新的公司和最热门的类别。一些新类别是我们称之为“分享经济”和“分享知识”的类别 - 使您能够租用您的备用空间到旅行者,使用您的汽车作为即兴出租车服务,并分享您的主要兴趣或爱好与志同道合的人。
鉴于Lyft,Sidecar和Uber等共享经济和服务的兴趣,我们看一下这些“移动首先”产品的表现方式。
我们看到所有三个都有可比和快速的页面加载时间,适用于桌面优化的网站。但是在智能手机上的事情变慢了。
在智能手机浏览器上为这三种服务完全加载开放页面的平均时间为11.9秒。Lyft在中间有11.3秒。Sidecar进入12.7秒,优步是一个不受欢迎的19.6秒。
平板电脑的性能类似:Lyft比平均水平略快;侧库慢;优步非常缓慢。优步作为平板电脑共享经济部分的最慢的网站。
那么为什么优步如此慢?
UBER站点使用响应性设计,这意味着与桌面交付相同的有效负载,但页面适应屏幕尺寸和设备功能。这是一种灵活的方法,但在移动网络连接上下载通常很多内容。
在Uber Mobile主页上,有超过50个新的HTTP请求和五个不同的域(每个不同的域都可能需要DNS查找为首次站点访问者)。
有趣的是用户实际经历的不是19.6秒,但更像九秒钟。这是由于被称为预取的东西。
预采样可以是用于加速移动设备上的用户体验的有效方法,用于访问网站上的多页面的用户。该想法是,在主页加载所需的所有内容之后,在用户在主页上读取内容时请求其他内容并存储在浏览器缓存中。
换句话说,页面正在加载隐藏的内容以供将来使用。因此,用户认为页面左右完成九秒钟,但页面继续在下次11秒后加载幕后的内容。
但是为了有效地工作,必须必须优先顺序加载页面元素,以便在该页面上不需要的任何内容之前呈现初始页面所需的资产。然后,当用户登录并转到下一页时,可以从缓存中拉出那些元素而不是通过网络请求。
优步希望预测用户预期内容,以获取进一步的操作并与主页交互,但是在应该尽快请求对主页的某些内容。
例如,在页面顶部显示主公司标志的图像是第26章请求,在Google Analytics标签和其他一些第三方呼叫之后。
在页面顶部的主图像转盘中使用的六个非常大的图像文件之后,还会要求徽标。只有第一张图像立即对网站访问者可见,但所有六种图像都会被请求并在UBER徽标映像之前在浏览器中加载。
结果,徽标有时需要七到八秒甚至更长才能显示。
用于预取的另一个“必须”是适当的缓存标题设置。设置不正确的缓存头可以导致在慢动移动网络上进行条件HTTP请求,而不是将元素直接从设备上的缓存中拉动。将预先获取到缓存中的一些图像文件没有正确设置的缓存标题,并且需要再次在网络上再次请求。
这在UBER主页上影响了至少六个元素。
另一个关于预取的谨慎是用户可能最终会消耗更多的数据(假设他们在网站中停止他们的旅程)。对于客户的付费数据计划,这意味着您正在制作您的网站访问者为更多的资金提供更多的资金。
我们很惊讶地看到这些移动式首创的网站,特别是优步,以这种缓慢的速度进来。但是,在部署预取和缓存管理时,优步还可以作为警示故事,尤其是智能手机用户。
要查看全方位的主题索引,请访问此处。
主题演讲每小时测试指数中的网站,并在三个最大的美国无线网络上的四个位置测试时钟。使用三个不同的设备模拟访问者。从多个位置收集数据,然后聚合以在性能和可用性方面提供总月平均值。