【RAIL】Webアプリのパフォーマンスを上げるための指標


RAILってなに?

RubyのフレームワークRailsのことではありません。

RAILとは

  • ユーザーが行う行動を4分割し、それぞれでアプリが必要なパフォーマンス目標を数値化したもの

参考画像:RAILモデルでパフォーマンスを評価する

要するに、UX改善のためのパフォーマンス指標のこと === "RAIL"

R ・・・ レスポンス
A ・・・アニメーション
I ・・・アイドル処理
L ・・・読み込み

レスポンス : 100ミリ秒

ユーザーがアクションを起こして、イベントが起こるまでの時間 例 : ボタンをクリックした時にダイアログが表示されるまでの時間

100ミリ秒~300ミリ秒が経過するとユーザーは微かに遅延していると感じる → インジケータの表示が求められてくる

アニメーション : 10ミリ秒(最大16ミリ秒)

アニメーションの各フレームを10ミリ秒以内に生成 例 : 可視的なアニメーション、ドラックやスクロールなど

アイドル処理 : 50ミリ秒

アイドル状態に実行されるJacascriptの処理時間 例 : ページを最初に読み込む際に、少ない量のデータを読み込んでアイドル時間を使って残りのデータを読み込む

  • 一度、レスポンス、アニメーション、読み込みが終わってユーザーのアクションを待っている状態

読み込み : 1000ミリ秒

Webページのコンテンツの読み込みにかかる時間 1000ミリ秒で抑えられると、画面遷移が問題なく行えていると実感できる 例 : スプラッシュスクリーンを活用(ローディング画面)

ページの読み込みパフォーマンスに影響を与える要因
・ネットワークの速度と遅延
・ハードウェア(たとえば、低速のCPU)
・キャッシュの削除
・L2 / L3キャッシングの違い
・JavaScriptの解析


参考
RAILモデルでパフォーマンスを評価する
書籍
Webフロントエンド ハイパフォーマンス チューニング