毎日記事を足すとビルド時間はどれだけ伸びるか
記事を 1 本足すたびにサイト全体が作り直される。それでも時間がほとんど伸びない理由を、実測値と流れ図で説明する。測り方も載せた。
この記事で使う言葉
- ビルド
- 書いた原稿から、そのまま配れる形の HTML を作る処理のことです。
- 中央値
- 測った値を小さい順に並べたとき、ちょうど真ん中に来る値のことです。
- キャッシュ
- 一度読んだデータを手元に取っておき、次回は読み直さずに使う仕組みです。
- CI
- 変更のたびに自動でビルドや検査を走らせる、常時稼働の仕組みのことです。
原因: 記事を 1 本足すと、サイト全体が作り直される
毎日 1 本ずつ記事を自動で足す運用を考えます。 記事を足すたびに走るのがビルドで、これはサイト全体を作り直す処理です。 足したのは 1 本でも、作り直されるのは全ページです。 だから記事が増えるほど時間が伸びるのでは、と心配になります。
仕組み: 時間の大半は、記事数と関係のない準備に消える
ビルドの時間は、準備と変換の 2 つに分かれます。 準備は道具を読み込む工程で、記事が何本でも毎回ほぼ同じだけかかります。 変換は記事 1 本ずつを HTML にする工程で、こちらは本数に比例します。 今の規模では準備のほうが重く、変換は誤差に近い大きさです。
結果: 本数を気にせず運用できる
実測したビルド時間 (中央値) は 1.24 秒でした。 出来上がった dist の総サイズは 38 KB です。 準備が支配的なので、記事を数十本に増やしても体感はほとんど変わりません。 逆に言えば、速くしたいときに削るべきは記事数ではなく準備のほうです。
実測データの測り方
同じ環境で astro build を 2 回続けて実行し、経過時間の中央値を採りました。 平均ではなく中央値にしたのは、1 回だけ遅い回が混ざっても結果がぶれないからです。
| 測ったもの | 値 | 単位 | 測った日 |
|---|---|---|---|
| ビルド時間 (中央値) | 1.24 | 秒 | 2026-09-14 |
| dist の総サイズ | 38 | KB | 2026-09-14 |
数字は 1 台のパソコンで測った値なので、そのまま再現する保証はありません。 読み取ってほしいのは絶対値ではなく、記事が増えたときの伸び方のほうです。 2 回目以降はキャッシュが効いて速くなるため、CI のように毎回まっさらな環境で走る場合は初回に近い値になります。
この記事には広告・アフィリエイトリンクを含みません。商品やサービスの提供を受けて執筆したものでもありません。
この記事の下書きは生成 AI が作成し、公開前に運営者が出典と数値を確認しています。
たとえるなら: 毎朝の弁当作り
| たとえ話の中の言葉 | 実際に対応するもの |
|---|---|
| 台所に立って道具を出す | ビルドが道具を読み込む準備 |
| おかずを 1 品詰める | 記事 1 本を HTML にする |
| 品数を増やす | 記事の本数を増やす |
ここは違う: 弁当は品数を増やすと材料費も増えますが、ビルドは記事を増やしても費用がほとんど変わりません。
この記事の計測データ
| 項目 | 値 | 単位 | 計測日 | 計測方法 |
|---|---|---|---|---|
| ビルド時間 (中央値) | 1.24 | 秒 | 2026-09-14 | astro build を 2 回実行し、経過時間の中央値を採った。記事 1 本を含む site/ が対象。 |
| dist の総サイズ | 38 | KB | 2026-09-14 | astro build 完了後の site/dist を再帰的に走査し、ファイルサイズの合計を KB で求めた。記事 1 本ぶん。 |
読んだあとに試せること
- 自分のサイトで astro build を 5 回実行し、中央値を記録する
- 記事を 10 本に複製してから測り直し、伸び方を比べる
- 画像を 1 枚入れて測り直し、dist の総サイズの変化を見る