クラウド実行環境

Netlifyとは|1時間に12回押すと、走ったビルドの62.9%が使われないまま終わった

押すたびに作り直すと何が起きるのか手元に残すとどれだけ速いのか配られるのはどこまでか

1時間に12回押す条件では、走った89回のビルドのうち56回が途中で追い越されました。

62.9%が使われないまま終わります。押す間隔がビルド時間を下回った時点で起きます。

この記事の要点

  • 1時間12回で62.9%が無駄
  • 1時間60回では99.6%
  • 依存を残すと0.44倍
  • 入口1個なら96.2%落とせる

1時間に12回押すと、62.9%のビルドが使われない

押すたびに作り直します。押す間隔がビルド時間を下回ると、多くが途中で追い越されます。

Netlifyは、押すたびに作り直します。公式はGitの提供元へ押すたびに、Netlifyは選んだ道具でビルドを走らせ、その結果を配る仕組みへ届けると述べています。

押す間隔が短いとどうなるのか。実際に流して数えました。

押す回数を変える

text
1日 8時間ぶん。1回の作り直しに 6分かかる
押される回数を変えて、走ったビルドのうち途中で追い越されたものを数える

1時間に押す回数  押した回数  走ったビルド  追い越されたビルド      割合      最後の変更が出るまで
            2回         15回           15回                  1回        6.7%                    6分
            6回         43回           43回                 17回       39.5%                    6分
           12回         89回           89回                 56回       62.9%                    6分
           30回        267回          267回                256回       95.9%                    6分
           60回        507回          507回                505回       99.6%                    6分

1時間に2回なら、無駄になるのは6.7%だけです。押す間隔が30分で、ビルドは6分だからです。

12回になると62.9%です。平均の間隔5分が、ビルドの6分を下回りました

分かれ目は間隔とビルド時間

60回では99.6%が無駄です。ほとんどのビルドが結果を使われずに終わります

右端を見ると、最後の変更が出るまではどの行も6分です。無駄が増えても、待ち時間は変わりません。

つまり無駄になるのは計算資源だけです。この形はCI/CDの記事でも扱っていて、走っている途中で止める仕組みが要ります。

押す間隔がビルド時間を下回ると、無駄が一気に増える。

単位: %60回99.6%30回95.9%12回62.9%6回39.5%1時間に2回6.7%1回のビルドは6分。押す間隔の平均が6分を下回るのは、1時間に10回を超えたあたり。
図1 ── 1時間に押す回数と、追い越されたビルドの割合
出典Netlify ドキュメント「Configure builds」2026-08-18 確認
Each time you push to your Git provider, Netlify runs a build with your tool of choice and deploys the result to our powerful CDN.
原文Netlify ドキュメント「Configure builds」 この内容の有効期限2027-02-18

依存を手元に残すと、1日で178分が浮く

取得した依存を残せます。当たり率が高いほど効きますが、外れると戻す手間だけが乗ります。

Netlifyのビルドでは、途中の結果を手元に残せます。公式はビルドの仕組みは、ビルドの過程で手元に残すためにこのディレクトリを使うと述べています。

どれだけ効くのか。当たり率を変えて実際に数えて比べました。

当たり率を変える

text
1回のビルドは、依存の取得 4.2分+組み立て 2.4分
手元に残したものを戻すのに 0.5分かかる。1日 48回として比べる

当たった割合      1回の平均      1日の合計      残さない場合との比      1日で浮く時間
            0%         6.60分          317分                   1.00倍                0分
           50%         4.75分          228分                   0.72倍               89分
           80%         3.64分          175分                   0.55倍              142分
           95%         3.08分          148分                   0.47倍              169分
          100%         2.90分          139分                   0.44倍              178分

全部当たれば0.44倍、1日で178分が浮きます。1回あたり6.60分が2.90分になります。

80%でも142分です。浮く時間の8割は、当たり率80%までで得られています

当たり率を上げる先

当たるのは、依存の一覧が前回から変わっていない場合です。変えていないのに外れるなら、一覧の書き方を見ます

版を固定していない一覧では、毎回内容が変わることがあります。固定すれば、当たり率がそのまま上がります

この節と前の節は掛け算になります。無駄なビルドを減らし、残ったビルドを速くするという順番です。

出典Netlify ドキュメント「Configure builds」2026-08-18 確認
The build system will use this directory to perform caching during the build process.
原文Netlify ドキュメント「Configure builds」 この内容の有効期限2027-02-18

入口が1個なら96.2%を落とせるが、30個では59.7%

配られるのは出力の中だけです。その中身は、どこから辿れるかで決まります。

Netlifyが配るのは、出力のディレクトリの中だけです。公式は配られるのは、公開のディレクトリにあるファイルだけであると述べています。

その中身は、入口から辿れる範囲で決まります。実際に辿って数えました。

入口の数を変える

text
記述の単位 300個、合わせて 6350KB
入口からたどれないものを落とす。入口の数を変えて減り方を見る

入口の数  残る単位  残る大きさ  落とせる割合
1個               15個       242KB         96.2%
3個               62個      1292KB         79.6%
10個              87個      1586KB         75.0%
30個             136個      2557KB         59.7%

入口が1個なら、300個のうち残るのは15個だけです。96.2%を落とせます。

30個になると136個が残ります。落とせる割合は59.7%まで下がりました

入口を数える

入口が増えるほど、辿れる範囲が広がります。配る量は入口の数で決まります

だから減らしたいときに見るのは、書いた総量ではありません。いくつの入口から始まっているかです。

余談 この計測での注意

3つの計測はいずれも手元で書いた模型で、実際のNetlifyを動かしたものではありません。ビルド6分、依存の取得4.2分といった値はすべて置いたものです。押される時刻は一定の割合で引いており、実際には作業時間に偏ります。追い越されたビルドを止める仕組みがあれば、この表の無駄はもっと小さくなるはずです。依存の関係も生成したもので、実際の構成では落とせる割合が変わります。ここで見せているのは、押す間隔がビルド時間を下回ると無駄が急に増えるという点と、配る量は書いた総量ではなく入口の数で決まるという点の2つです。

出典Netlify ドキュメント「Configure builds」2026-08-18 確認
Only files in the publish directory are deployed
原文Netlify ドキュメント「Configure builds」 この内容の有効期限2027-02-18

よくある質問

Netlifyはいつビルドしますか
押すたびです。Gitの提供元へ押すたびにビルドを走らせ、結果を配ると説明されています。
押しすぎると何が起きますか
追い越されます。1時間に12回押す条件では、走ったビルドの62.9%が使われませんでした。
依存を手元に残すとどれだけ速いですか
全部当たれば0.44倍でした。1日48回のビルドで178分が浮きます。
配られるのはどこまでですか
公開のディレクトリの中だけです。その外にあるファイルは配られないと説明されています。

まとめ

  • 押すたびに作り直す
  • 間隔が短いと無駄が出る
  • 依存を残すと半分以下
  • 配るのは公開の範囲だけ

今日から始められること

  1. 1時間あたりの押す回数を数える
  2. 1回のビルド時間を測る
  3. 依存の当たり率を確かめる
  4. 公開のディレクトリの中身を見る

実務で組んだNetlifyのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る