使用 RAIL 模型衡量性能

RAIL 是一種以用戶為中心的性能模型咙鞍,提供考慮性能的結(jié)構(gòu)。該模型會(huì)將用戶體驗(yàn)細(xì)分為關(guān)鍵操作(例如點(diǎn)按袖牙、滾動(dòng)、加載)舅锄,并幫助您為每項(xiàng)操作定義性能目標(biāo)鞭达。

**要點(diǎn) **:核心網(wǎng)頁(yè)指標(biāo)是 Google 新推出的一項(xiàng)計(jì)劃,旨在針對(duì)提供優(yōu)質(zhì)網(wǎng)站用戶體驗(yàn)至關(guān)重要的質(zhì)量信號(hào)提供統(tǒng)一指南皇忿。這是通過 RAIL 定義性能目標(biāo)的推薦方法畴蹭,其閾值與此處詳述的閾值不同。

RAIL 表示 Web 應(yīng)用生命周期的四個(gè)不同方面:響應(yīng)鳍烁、動(dòng)畫叨襟、空閑和加載。由于用戶對(duì)每種情境有不同的性能預(yù)期幔荒,因此糊闽,系統(tǒng)會(huì)根據(jù)情境以及關(guān)于用戶如何看待延遲的用戶體驗(yàn)調(diào)研來(lái)確定效果目標(biāo)。

專注于滿足用戶需求

讓用戶成為性能工作的中心爹梁。下表介紹了用戶如何看待性能延遲的關(guān)鍵指標(biāo):

用戶對(duì)性能延遲的感知

時(shí)間 感受
0 至 16 毫秒 用戶非常擅長(zhǎng)跟蹤運(yùn)動(dòng)右犹,如果動(dòng)畫不流暢,他們就會(huì)不喜歡姚垃。只要每秒渲染 60 幀念链,這類動(dòng)畫就會(huì)感覺很流暢。也就是每幀 16 毫秒(包括瀏覽器將新幀繪制到屏幕上所需的時(shí)間)积糯,讓應(yīng)用生成一幀大約 10 毫秒掂墓。
0 至 100 毫秒 在此時(shí)間范圍內(nèi)響應(yīng)用戶操作,讓用戶感覺能夠立竿見影看成。時(shí)間再長(zhǎng)君编,操作與反應(yīng)之間的連接就會(huì)中斷。
100 至 1000 毫秒 在此窗口中绍昂,事情感覺像是任務(wù)自然和持續(xù)推進(jìn)的一部分啦粹。對(duì)于網(wǎng)絡(luò)上的大多數(shù)用戶,加載頁(yè)面或更改視圖代表著一個(gè)任務(wù)窘游。
1000 毫秒或以上 一旦超過 1,000 毫秒(1 秒)唠椭,用戶就會(huì)失去專注于他們正在執(zhí)行的任務(wù)的注意力。
10000 毫秒或更長(zhǎng) 一旦超過 10,000 毫秒(10 秒)忍饰,用戶就會(huì)感到沮喪贪嫂,并可能放棄任務(wù)。他們以后不一定會(huì)回來(lái)艾蓝。

**注意 **:用戶感知到的性能延遲有所不同力崇,具體取決于網(wǎng)絡(luò)條件和硬件斗塘。例如,通過快速 Wi-Fi 連接在功能強(qiáng)大的臺(tái)式機(jī)上加載網(wǎng)站通常會(huì)在 1 秒內(nèi)完成亮靴,并且用戶已經(jīng)習(xí)慣了這種情況馍盟。在 3G 網(wǎng)絡(luò)連接速度較慢的移動(dòng)設(shè)備上加載網(wǎng)站需要更多時(shí)間,因此移動(dòng)用戶通常更有耐心茧吊,在移動(dòng)設(shè)備上 5 秒內(nèi)加載完畢是一個(gè)更切合實(shí)際的目標(biāo)贞岭。

目標(biāo)與準(zhǔn)則

在 RAIL 中,術(shù)語(yǔ)“目標(biāo)”和“指南”具有特定含義:

  • 目標(biāo)搓侄。與用戶體驗(yàn)相關(guān)的關(guān)鍵效果指標(biāo)瞄桨。例如,點(diǎn)按即可在 100 毫秒以內(nèi)完成繪制讶踪。由于人類的感知相對(duì)穩(wěn)定芯侥,因此這些目標(biāo)不太可能很快改變。

  • 指南乳讥≈椋可幫助您實(shí)現(xiàn)目標(biāo)的建議。這些建議可能特定于當(dāng)前的硬件和網(wǎng)絡(luò)連接狀況云石,因此可能會(huì)隨著時(shí)間的推移而變化物赶。

響應(yīng):在 50 毫秒內(nèi)處理事件

目標(biāo):在 100 毫秒內(nèi)完成由用戶輸入發(fā)起的轉(zhuǎn)換,讓用戶感覺互動(dòng)是瞬時(shí)完成的留晚。

準(zhǔn)則

  • 為確保在 100 毫秒內(nèi)獲得可見響應(yīng),請(qǐng)?jiān)?50 毫秒內(nèi)處理用戶輸入事件告嘲。這適用于大多數(shù)輸入错维,例如點(diǎn)擊按鈕、切換表單控件或啟動(dòng)動(dòng)畫橄唬。這不適用于輕觸拖動(dòng)或滾動(dòng)赋焕。

  • 雖然聽起來(lái)可能有違常理,但立即響應(yīng)用戶輸入并不總是合適的仰楚。您可以使用以下 100 毫秒的窗口執(zhí)行其他開銷較大的工作隆判,但要小心不要阻止用戶。請(qǐng)盡可能在后臺(tái)運(yùn)行僧界。

  • 對(duì)于需要 50 毫秒以上才能完成的操作侨嘀,請(qǐng)始終提供反饋。

50 毫秒還是 100 毫秒捂襟?

我們的目標(biāo)是在 100 毫秒以內(nèi)響應(yīng)輸入咬腕,那么為什么我們的預(yù)算只有 50 毫秒呢?這是因?yàn)樵岷桑溯斎胩幚碇庹枪玻ǔ_€會(huì)執(zhí)行其他工作纽帖,并且這些工作會(huì)占用可用于獲得可接受輸入響應(yīng)的部分時(shí)間。如果某個(gè)應(yīng)用在空閑時(shí)間內(nèi)以推薦的 50 毫秒分塊執(zhí)行工作举反,則意味著如果輸入在其中一個(gè)工作塊期間發(fā)生懊直,則可能會(huì)排隊(duì)長(zhǎng)達(dá) 50 毫秒』鸨牵考慮到這一點(diǎn)室囊,可以放心地假設(shè)只有剩余的 50 毫秒可用于實(shí)際的輸入處理。下圖直觀顯示了這種影響凝危,該圖顯示了空閑任務(wù)期間接收的輸入如何排隊(duì)波俄,從而縮短了可用的處理時(shí)間:

動(dòng)畫:在 10 毫秒內(nèi)生成一幀

目標(biāo)

  • 在 10 毫秒或更短的時(shí)間內(nèi)生成動(dòng)畫中的每一幀。從技術(shù)上講蛾默,每一幀的最大預(yù)算為 16 毫秒(1000 毫秒 / 60 幀/秒約 16 毫秒)懦铺,但瀏覽器需要大約 6 毫秒才能渲染每一幀,因此準(zhǔn)則是每幀 10 毫秒支鸡。

  • 力求實(shí)現(xiàn)視覺流暢冬念。當(dāng)幀速率發(fā)生變化時(shí),用戶會(huì)注意到牧挣。

準(zhǔn)則

  • 在諸如動(dòng)畫之類的高壓力點(diǎn)中急前,關(guān)鍵是力所能及的方面都做不到,而絕對(duì)最小為不能瀑构。請(qǐng)盡可能利用 100 毫秒響應(yīng)來(lái)預(yù)先計(jì)算開銷非常大的工作裆针,以便最大限度提高達(dá)到 60 fps 的幾率。

  • 如需了解各種動(dòng)畫優(yōu)化策略寺晌,請(qǐng)參閱渲染性能世吨。

注意 :識(shí)別所有類型的動(dòng)畫。動(dòng)畫不僅僅是精美的界面效果呻征。這些互動(dòng)中的每一種都被視為動(dòng)畫:

  • 視覺動(dòng)畫耘婚,例如進(jìn)入和退出、補(bǔ)間動(dòng)畫和加載指示器陆赋。
  • 滾動(dòng)沐祷。這包括快速滑動(dòng),即用戶開始滾動(dòng)攒岛,然后松開赖临,頁(yè)面會(huì)繼續(xù)滾動(dòng)。
  • 正在拖動(dòng)灾锯。動(dòng)畫通常出現(xiàn)在用戶互動(dòng)之后思杯,例如平移地圖或雙指張合進(jìn)行縮放。

空閑:最大限度地延長(zhǎng)空閑時(shí)間

目標(biāo):最大限度地延長(zhǎng)空閑時(shí)間,以提高網(wǎng)頁(yè)在 50 毫秒內(nèi)響應(yīng)用戶輸入的幾率色乾。

準(zhǔn)則

  • 利用空閑時(shí)間完成推遲的工作誊册。例如,對(duì)于初始網(wǎng)頁(yè)加載暖璧,請(qǐng)盡可能少加載數(shù)據(jù)案怯,然后使用空閑時(shí)間加載其余數(shù)據(jù)。

  • 在空閑時(shí)間不超過 50 毫秒時(shí)執(zhí)行工作澎办。如果時(shí)間更長(zhǎng)嘲碱,則可能會(huì)干擾應(yīng)用在 50 毫秒內(nèi)響應(yīng)用戶輸入的能力。

  • 如果用戶在空閑時(shí)間工作期間與頁(yè)面交互局蚀,則用戶互動(dòng)應(yīng)始終具有最高優(yōu)先級(jí)麦锯,并中斷空閑時(shí)間工作。

加載:提交內(nèi)容并在 5 秒內(nèi)實(shí)現(xiàn)互動(dòng)

如果網(wǎng)頁(yè)加載速度緩慢琅绅,用戶的注意力就會(huì)分散扶欣,用戶就會(huì)認(rèn)為任務(wù)無(wú)法正常工作。網(wǎng)站加載速度快千扶,平均會(huì)話數(shù)更長(zhǎng)料祠、跳出率更低、廣告可見度更高澎羞。

目標(biāo)

  • 根據(jù)用戶的設(shè)備和網(wǎng)絡(luò)功能進(jìn)行優(yōu)化髓绽,以實(shí)現(xiàn)快速加載性能。目前妆绞,在 3G 網(wǎng)速較慢的中端移動(dòng)設(shè)備上加載網(wǎng)頁(yè)并可在 5 秒或更短的時(shí)間內(nèi)加載網(wǎng)頁(yè)是一個(gè)不錯(cuò)的目標(biāo)顺呕。

  • 對(duì)于后續(xù)加載,最好在 2 秒內(nèi)加載頁(yè)面括饶。

**注意 **:這些目標(biāo)可能會(huì)隨時(shí)間而變化塘匣。

準(zhǔn)則

  • 對(duì)用戶共用的移動(dòng)設(shè)備和網(wǎng)絡(luò)連接測(cè)試負(fù)載性能。您可以使用 Chrome 用戶體驗(yàn)報(bào)告來(lái)了解用戶的連接分布情況巷帝。如果無(wú)法為您的網(wǎng)站提供相關(guān)數(shù)據(jù),可以參閱 The Mobile Economy 2019 報(bào)告扫夜,全球基準(zhǔn)數(shù)據(jù)最好是中端 Android 手機(jī)(如 Moto G4)和速度較慢的 3G 網(wǎng)絡(luò)(定義為 400 毫秒 RTT 和 400 kbps 的傳輸速度)楞泼。可以在 WebPageTest 上提供這種組合笤闯。

  • 請(qǐng)注意堕阔,雖然典型移動(dòng)用戶的設(shè)備可能會(huì)聲稱其使用的是 2G、3G 或 4G 連接颗味,但實(shí)際上超陆,由于數(shù)據(jù)包丟失和網(wǎng)絡(luò)變化,有效連接速度往往會(huì)明顯變慢。

  • 避免使用會(huì)阻塞渲染的資源时呀。

  • 您無(wú)需在 5 秒內(nèi)加載所有內(nèi)容张漂,才能產(chǎn)生加載完畢的感覺〗髂龋考慮延遲加載圖片航攒、代碼拆分 JavaScript 軟件包,以及 web.dev 上建議的其他優(yōu)化趴梢。

**注意 **:

確定影響網(wǎng)頁(yè)加載性能的因素:

  • 網(wǎng)速和延遲
  • 硬件(例如運(yùn)行速度較慢的 CPU)
  • 緩存逐出
  • L2/L3 緩存的差異
  • 解析 JavaScript

用于測(cè)量 RAIL 的工具

有幾種工具可以幫助您自動(dòng)進(jìn)行 RAIL 測(cè)量漠畜。具體使用哪種方法取決于您需要什么類型的信息以及偏好的工作流類型。

Chrome DevTools

Chrome 開發(fā)者工具可以對(duì)頁(yè)面加載或運(yùn)行時(shí)發(fā)生的一切進(jìn)行深入分析坞靶。請(qǐng)參閱分析運(yùn)行時(shí)性能入門憔狞,熟悉性能面板界面。

開發(fā)者工具的以下功能尤為相關(guān):

燈塔

Lighthouse 可在 Chrome 開發(fā)者工具典奉、PageSpeed Insights、Chrome 擴(kuò)展程序丧叽、Node.js 模塊和 WebPageTest 中使用卫玖。您為其提供一個(gè)網(wǎng)址,它會(huì)模擬 3G 連接速度較慢的中端設(shè)備踊淳,在網(wǎng)頁(yè)上運(yùn)行一系列審核假瞬,然后為您提供負(fù)載性能報(bào)告以及有關(guān)如何改進(jìn)的建議。

以下審計(jì)工作尤為相關(guān):

答案

加載

WebPageTest

WebPageTest 是一種網(wǎng)頁(yè)性能工具拟逮,它使用真實(shí)的瀏覽器訪問網(wǎng)頁(yè)并收集時(shí)間指標(biāo)。在 webpagetest.org/easy 上輸入一個(gè)網(wǎng)址适滓,以獲取頁(yè)面在 3G 網(wǎng)速較慢的實(shí)際 Moto G4 設(shè)備上的加載性能的詳細(xì)報(bào)告敦迄。您還可以對(duì)其進(jìn)行配置,使其包含 Lighthouse 審核凭迹。

摘要

RAIL 是一個(gè)鏡頭罚屋,用于將網(wǎng)站的用戶體驗(yàn)視為由不同互動(dòng)組成的歷程。了解用戶如何看待您的網(wǎng)站蕊苗,以便制定能夠最大限度地影響用戶體驗(yàn)的效果目標(biāo)。

  • 專注于滿足用戶需求沿彭。

  • 100 毫秒以內(nèi)響應(yīng)用戶輸入朽砰。

  • 在設(shè)置動(dòng)畫效果或滾動(dòng)時(shí),在 10 毫秒以內(nèi)生成幀。

  • 最大限度地延長(zhǎng)主線程空閑時(shí)間瞧柔。

  • 在 5000 毫秒內(nèi)加載互動(dòng)式內(nèi)容漆弄。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市造锅,隨后出現(xiàn)的幾起案子撼唾,更是在濱河造成了極大的恐慌,老刑警劉巖哥蔚,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件倒谷,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡糙箍,警方通過查閱死者的電腦和手機(jī)渤愁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)深夯,“玉大人抖格,你說(shuō)我怎么就攤上這事」窘” “怎么了雹拄?”我有些...
    開封第一講書人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)掌呜。 經(jīng)常有香客問我滓玖,道長(zhǎng),這世上最難降的妖魔是什么站辉? 我笑而不...
    開封第一講書人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任呢撞,我火速辦了婚禮,結(jié)果婚禮上饰剥,老公的妹妹穿的比我還像新娘殊霞。我一直安慰自己,他們只是感情好汰蓉,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開白布绷蹲。 她就那樣靜靜地躺著,像睡著了一般顾孽。 火紅的嫁衣襯著肌膚如雪祝钢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,246評(píng)論 1 308
  • 那天若厚,我揣著相機(jī)與錄音拦英,去河邊找鬼。 笑死测秸,一個(gè)胖子當(dāng)著我的面吹牛疤估,可吹牛的內(nèi)容都是我干的灾常。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼铃拇,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钞瀑!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起慷荔,我...
    開封第一講書人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤雕什,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后显晶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贷岸,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年吧碾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凰盔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡倦春,死狀恐怖户敬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情睁本,我是刑警寧澤尿庐,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站呢堰,受9級(jí)特大地震影響抄瑟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜枉疼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一皮假、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧骂维,春花似錦惹资、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至潦刃,卻和暖如春侮措,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乖杠。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工分扎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人胧洒。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓畏吓,卻偏偏與公主長(zhǎng)得像环揽,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子庵佣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容