AzureFunctions の Code+Test が途切れるときの起動前ログ

Code+Test を使って関数を試していると、読み込みのところで反応が止まることがある。関数の処理に入る前の段階で動きが重くなることがあり、自分の環境でログを順に追っていくと、起動の流れの中で負荷がかかりやすい工程がいくつかあることが分かった。以前に Power BI と PostgreSQL を扱ったときと同じで、どこで流れが途切れるのかを一つずつ確認していった。

Function Host は起動時に Storage を読み、wwwroot を取り込み、必要な情報をそろえて応答できる状態に入る。この工程のどこかが遅れると、ポータルが Host に届く前に処理が止まり、Code+Test がすぐにタイムアウトする。Storage の応答が重いと取り込みが終わらず、Host が起動完了を返せない。Blob の情報取得が重いときや File Share が負荷を受けているときに遅れが続く。設定の不整合も起動前で影響が出やすく、接続文字列が欠けていると初期化が途中で止まる。KeyVault の参照が不安定だと表面に何も出ないまま細かい部分だけが乱れる。ログを並べていくと、どの工程で時間が空き、どこで戻るのかが少しずつ分かってきた。試していくうちに、Storage の遅延と設定の整合性が影響を受けやすい位置に寄りやすいことが分かった。I/O を確認し、設定の余計な制限を削ると反応が落ち着いてくる。

Code+Test が止まるときは、Host の起動ログと Storage の I/O を最初に見ると早い。結論として、Code+Test がすぐにタイムアウトするのは、関数の処理が遅いのではなく、Host が起動前の工程で止まっているときに起きることが今回の切り分けで分かった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です