yuheijotaki.com

各ホスティングサービスでAstro(SSG)のビルド・デプロイ時間を測ってみる

目次

概要

Cloudflare, Vercel, Netlify, AWS Amplify(Hosting) にてAstro(SSG)のビルド・デプロイ時間を計測してみた。

結論

Amplify(Hosting)以外は早い。

検証内容

  • Portfolio | Astro テーマを拝借して初期ファイルをビルド・デプロイする。
    • インデックスページ、固定ページ、Content Collectionsでの投稿など比較的ライトめのボリューム
    • ローカル環境では5秒くらいでビルドが完了する
  • 各サーバー上で5回計測する

結果

Cloudflare

平均:29.8s

1回目:28s
2回目:29s
3回目:36s
4回目:27s
5回目:29s

Vercel

平均:20.8s

1回目:17s
2回目:20s
3回目:21s
4回目:24s
5回目:22s

Netlify

平均:22s

1回目:27s
2回目:20s
3回目:20s
4回目:20s
5回目:23s

AWS Amplify(Hosting)

平均:79.4s

1回目:77s
2回目:76s
3回目:85s
4回目:79s
5回目:80s

Amplifyのビルドはなぜ早くないのか

構築イメージ(Amazon Linux:2023)以外を選択、Node.jsのバージョン変更などをしてもビルド・デプロイ時間は差がない。

  • デフォルトのDockerイメージが汎用的に作られているため冗長な構成になっている説。カスタムイメージ作ればそれなりに早くなりそう
  • CloudFrontディストリビューションへの伝播がそもそもVercelなどと違う仕組み?構成?のため説。これはSSRの場合のみ?

フロントエンドのビルド時間に限るとほかサービスと大差はなさそうなので、イメージの用意やデプロイに時間がかかっている感触。
公式のissuesでも結構避難が強そうな感じに受け取ったが、まあまあ前からある問題で根深そうだなと思った。

まとめ

  • Amplify以外は早い
  • Netlifyは久しぶりに触ったが元気そう

参考資料