プログラミング入門

たった4行のリストに2MBも転送していた話:フロントエンドの無駄を見つけるデバッグ実践

「ページを開いたら一瞬だけ白くなって、その後全部表示される…」

こんな経験、ありませんか?ちょっとしたリストを表示するだけなのに、なぜか重い。原因を調べてみたら、たった4行のテキストを表示するために2MB近いデータを転送していた——そんな驚きの事例が話題になっています。

今回はこの実例をもとに、「フロントエンドのパフォーマンス問題をどうやって特定するか」を一緒に見ていきましょう! 🔍

なにが起きていたのか

問題のページはシンプルな構成でした。顧客向けエリアに設置された、日付と見出しが並ぶちょっとしたリスト。エディターが手動で更新するだけの、いわゆる静的に近いコンテンツです。

ところがそのページを開くたびに、一瞬ブランク(白紙)になってからコンテンツが出現するという怪しい挙動が。体感的には「遅い」とは言えないかもしれないけど、何かがおかしい。

こういうときに最初にやるべきことは、ブラウザの開発者ツール(DevTools)でネットワークタブを開くことです 🛠️

DevToolsで原因を掘り下げる

ネットワークタブを開いてページをリロードしてみると、転送量が異常に多いことがすぐわかります。4行しかないリストなのに、合計で約2MBのデータが流れていたんです。

よくある犯人としては、こんなものが挙げられます。

  • 📦 巨大なJavaScriptバンドル:使っていない機能まで全部まとめてロードしている
  • 🖼️ 最適化されていない画像:WebP変換やリサイズをしていない
  • 🔁 不要なAPIレスポンス:表示に必要ないフィールドまでJSON丸ごと返している
  • 🧩 重いUIフレームワークの読み込み:ちょっとしたリストにフル機能のSPAを使っている

実際に確認する際は、こんなコードでAPIレスポンスのサイズを簡単にチェックできます。

# Pythonでレスポンスサイズを確認するシンプルな例
import requests

url =

📚 関連商品・おすすめ書籍

スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)

もしも

スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)

初心者に定番のPython入門書

Amazonで見る

Python Web開発実践入門 ―― FastAPIによるWebAPI開発と非同期処理

もしも

Python Web開発実践入門 ―― FastAPIによるWebAPI開発と非同期処理

FastAPIでWebAPI開発を実践的に学ぶ

Amazonで見る

ゼロからよくわかる! Arduinoで電子工作入門ガイド 改訂2版

もしも

ゼロからよくわかる! Arduinoで電子工作入門ガイド 改訂2版

ゼロから始めるArduino電子工作の改訂版ガイド

Amazonで見る

※本記事にはアフィリエイトリンクが含まれます。

ABOUT ME
やまちゃん
これまで学生と社会人を合わせて5000人以上にプログラミング学習を指導。 ゼロからイチをわかりやすく解説する専門家として活動しており、本業ではArduinoを用いたIoT開発とロボットプログラミングが専門。 Pythonを用いたアプリ開発、ウェブアプリケーションの開発で業務の効率化をサポートしています。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です