各ホスティングサービスで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は久しぶりに触ったが元気そう