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

どうやってWebサービスのページ表示速度を1/3にしたか / how-to-reduce-di...

どうやってWebサービスのページ表示速度を1/3にしたか / how-to-reduce-display-speed

pinkumohikan

March 07, 2024
Tweet

More Decks by pinkumohikan

Other Decks in Technology

Transcript

  1. ©tete marche CO., LTD. 2 ✔ テテマーチ株式会社 SINIS for X

    テックリード 篠田 北斗 ( @pinkumohikan ) ✔ 社内ブランディング 「定期的に髪色が変わるやべーやつ」 ✔ バックエンド寄りの技術が好き ISUCON毎年参戦中🔥 (去年の戦績の話はNG) 自己紹介
  2. ©tete marche CO., LTD. Index 目次 4 1. Webページ表示速度は重要 2.

    パフォーマンスチューニングの基本 3. SINIS for Instagramの高速化でやったこと
  3. ©tete marche CO., LTD. 7 • 表示速度はWebにおけるすべてのユーザ体験の根底にある ◦ どんなに優れていても遅いとイライラする、使ってもらえない ◦

    UXが悪いサービスはUXが良いサービスに簡単に代替される • Googleもそう言っている ページ表示速度は「売上」に効く 出典: 速度が重要な理由 by web.dev
  4. ©tete marche CO., LTD. 17 ボトルネック「特定」につかえる便利ツール • プロファイラ ◦ PHPではXdebugが定番

    (無料) ◦ どの関数で実行に時間がかかったか計測できる ◦ 計測中は激重 (開発環境などで使う) ◦ プロファイリング結果はWebGrindなどのツールで可視化 出典: WebGrind - GitHub
  5. ©tete marche CO., LTD. 18 ボトルネック「特定」につかえる便利ツール • Application Performance Monitor

    (APM) ◦ NewRelicやDatadogなどが提供する有償プロファイラ ◦ SDKを仕込んでおくと自動でプロファイリング、集積、可視化してくれる 出典: APMによるアプリのパフォーマンス改善 - Newrelic
  6. ©tete marche CO., LTD. 19 ボトルネック「特定」につかえる便利ツール • Google Lighthouse ◦

    GoogleがOSS開発している、パフォーマンス・品質・正確性の改善ツール ◦ 任意のWebサイトに実行でき、CWV+αに基づいてスコアリングしてくれる ◦ Google Chrome Pluginがある他、CIに組み込むことも可能
  7. ©tete marche CO., LTD. 23 ボトルネック「確認」につかえる便利ツール • Vegeta ◦ OSS開発されている、いわゆる負荷テストツール

    ◦ 任意の時間、任意の並列数、任意のシナリオ (順番) で指定したサイ トへリクエストしまくってくれる ◦ 類似ツール: Apache Jmeter、Apache Bench、Tsung、 Siege、etc… 出典: Vegeta - GitHub
  8. ©tete marche CO., LTD. 26 完全に理解できましたね 🤗 Laravelで学ぶWebアプリケーションチューニングの基本 by hanhanさん

    https://speakerdeck.com/hanhan1978/web-application-tuning-guildline PHPWebアプリケーション パフォーマンスチューニング by 清家史郎 https://speakerdeck.com/seike460/php-web-application-performance-tuning Webアプリケーションのパフォーマンス・チューニングの勘所 by そーだいさん https://speakerdeck.com/soudai/web-tuningperformance
  9. ©tete marche CO., LTD. 62 • Web上でビジネスをするすべてのプロダクトにおいて表示速度は重要 • Googleが提唱するUX品質指標 「Core

    Web Vitals (CWV)」 • Google提供の 「Lighthouse」 でCWVの計測ができる • 計測によってボトルネックを見つけ、1箇所づつ改善すれば速くなる • おかしいな?と思ったらプロファイルを取ろう • 「念の為の確認」は大事 まとめ
  10. ©tete marche CO., LTD. 63 • Web Vitals (Google) •

    Core Web Vitals(CWV)とは? (CLOUDFLARE) • Core Web Vitals と Google 検索の検索結果について (Google) • 速度が重要な理由 (Google) • 達人が教えるWebパフォーマンスチューニング (ISUCONが大好きな皆さ ん) 参考文献
  11. ©tete marche CO., LTD. 66 想定質問 • なぜピンクのモヒカンなのか • どうやって高速化に取り組むための時間を捻出するか

    • 高速化についてもっと詳しく知りたいが、何からやれば良いか • 紹介していること以外にやったこと