Skip to content

ブログのデプロイ時間改善について

2023年11月17日

先日、このブログのテーマをバージョンアップした。 ブログを作ってから今までずっとバージョンアップをサボっていたので、 マージするのが結構大変だった。 というか、submoduleじゃないんかい。そのうちsubmodule化しよう。 この時のバージョンアップ+jampackの処理スキップによって、デプロイ時間が7m21sから2m35になった。 元々がひどすぎるとはいえ、2倍以上の改善はかなり大きい。 今日はこれをさらにどこまで改善できるかやってみた。

結果は1m50sだった。 大したことはやっていない。OG imageの生成をスキップしただけだ。 OG imageはSNSなどでリンクを共有した時に表示される画像のことだ。 人目を引くために有効な手段だと思う。 ただ、この画像を生成するのに40~50sかかっている。 あまりにも長いのでスキップしてしまった。 一応Amplifyのキャッシュの設定やバックエンドステージのスキップなども設定した。 しかし、それほど効果はなかった。

ここからさらに速度を上げられるか。 上げられると思う。しかし、結構細々としたことをやらないといけない気がする。 例えば、使用しているコンテナイメージのサイズダウンとか、ブログのリポジトリのお掃除とかだ。 ブログのビルド自体は16sくらいなので、プログラムの改修で7sくらいにはできるかもしれない。 フロントエンドの知識が乏しいので強化したいところだ。Astroで一から何か作ってみようか。 Astroじゃなくても良いが。

ただ、今述べたのはAWS Amplifyでデプロイする場合の話だ。 インフラレイヤでもっとキャッシュを有効活用できる設計にすれば劇的にデプロイ速度が改善するだろう。 OG Imageの生成だってキャッシュがあれば40sはかからない。 その場合、生成する画像は1枚で良いからだ。 プロビジョンの時間も改善できるかもしれない。

まあ、2mに収まるなら特に問題はない。気が向いたらAmplifyから何かに乗り換えるとかしようかな。