Upgrade to Pro — share decks privately, control downloads, hide ads and more …

リクルートにおけるWebパフォーマンス改善の取り組み

 リクルートにおけるWebパフォーマンス改善の取り組み

2019/6/3 Google Cloud で実践する Web アプリ開発での新井の講演資料になります

Recruit Technologies

June 03, 2019
Tweet

More Decks by Recruit Technologies

Other Decks in Technology

Transcript

  1. リクルートでの取り組み(性能改善)
 
 • パフォーマンス改善に関する勉強会開催
 • Google主催 スピードハッカソン参加
 期間内に最もページスピードを改善したタウンワークが優勝
 
 


    • タウンワークスピード改善ローンチ
 https://codezine.jp/article/detail/11445
 • SUUMOスピードハッカソン社内実施
 • AirSHIFT性能速度改善
 https://speakerdeck.com/maxmellon/reactzhi-spa-niokeru-pahuomansutiyuningu

  2. Webパフォーマンスの昨今
 • 2018/07 Google SpeedUpdate
 “Using page speed in mobile

    search ranking” https://webmasters.googleblog.com/2018/01/using-page-speed-in-mobile-search.html ページの速度 をモバイルの検索順位に使用する
 “We encourage developers to think broadly about how performance affects a user’s experience of their page and to consider a variety of user experience metrics. ” パフォーマンスがページのユーザーのエクスペリエンスにどのように
 影響するかについて広く考え、さまざまなユーザーエクスペリエンス
 の測定基準を検討することを開発者に推奨します。
 

  3. SUUMOでのアプローチ
 
 
 
 
 パフォーマンス
 バジェット
 性能改善
 ハッカソン
 予防


    現状の可視化・共通認識化 
 案件企画・設計から意識 
 ◦
 ◦
 維持
 指標と基準を定めてアラート 
 ◯
 
 改善
 基準に満たないページを改善 
 
 ◦
 予防・維持・改善の3つの枠組みで活動

  4. SUUMOでのアプローチ
 
 
 
 
 
 
 
 これまでの取り組みは改善から予防の流れ
 


    
 パフォーマンス
 バジェット
 性能改善
 ハッカソン
 予防
 現状の可視化・共通認識化 
 案件企画・設計から意識 
 ◦
 ◦
 維持
 指標と基準を定めてアラート 
 ◯
 
 改善
 基準に満たないページを改善 
 
 ◦

  5. 
 
 パフォーマンス
 バジェット
 性能改善
 ハッカソン
 予防
 現状の可視化・共通認識化 
 案件企画・設計から意識

    
 ◦
 ◦
 維持
 指標と基準を定めてアラート 
 ◯
 
 改善
 基準に満たないページを改善 
 
 ◦
 SUUMOでのアプローチ

  6. 性能改善ハッカソンでの手順
 11:00 フリースペース集合
 11:00 - 12:00 かんたんな説明など
 12:00 - 18:00

    作業
         https://web.dev/fast
 18:00 -     チーム内で施策の共有・まとめ
 実装内容などについて話し合う

  7. SUUMOでのアプローチ
 
 
 
 
 パフォーマンス
 バジェット
 性能改善
 ハッカソン
 予防


    現状の可視化・共通認識化 
 案件企画・設計から意識 
 ◦
 ◦
 維持
 指標と基準を定めてアラート 
 ◯
 
 改善
 基準に満たないページを改善 
 
 ◦

  8. パフォーマンスバジェット
 (Google Developers) パフォーマンスバジェットのご紹介
 https://developers-jp.googleblog.com/2019/03/blog-post_15.html
 • ウェブサイトを高速に保つために便利な考え方
 • パフォーマンスに関する予算を決めて維持
 •

    UX 上重要なもの、運用しやすいものを予算として定義
 
 → これにより、ユーザー体験を一定に保つ前提で、
   機能と性能のトレードオフを可視化・説明・判断できる
   

  9. パフォーマンスバジェットでの指標
 Milestone 
 - 読み込み・表示にかかった時間、など
 Quantity (量)
 - ファイルサイズ
 -

    リクエスト数、など
 Rules
 - パフォーマンススコア
 など
 
                    https://addyosmani.com/blog/performance-budgets/ 
 

  10. パフォーマンス計測ツール
 • Lighthouse
 • Chrome User Experience Report (CrUX)
 •

    Page Speed Insight
 • Web Page Test
 • Google Analytics
 など。SpeedCurve、Calibre などのサービスも利用できる。そ れぞれの特性については↓
 https://developers.google.com/web/fundamentals/performance/speed-tools/