Azure Functions のレスポンスタイム
サーバーレスというとレスポンスが云々とかコールドスタートが云々とか気になるということで、Azure Functions の各ホスティングプランについてざっくりと傾向を見てみました。
- 2018年6月1日~6月22日で測定。
- パターンは以下の3つ
- Functions の中身はHTTPリクエストをGETで受けて200を返すだけのcsx
- リクエストを投げる側はVirtual Machine上のスクリプト
実質的に、3つめの「Consumptionプランが寝る条件でどれくらいレスポンスがバラつくのかが焦点になりそうですね。「Web App プランで15分置き」というのも見てみたい気はしますが、プランを分けるとコストも嵩みますし、AlwaysOn有効でちょっとやってみた感じでは安定してそうだったので今回は見送りで。
結果発表
早速ですがスクショでペタペタと。
App Service プラン + リクエストは1秒毎
やはり安定していますね。平均24,8ms、99パーセンタイル値は94msでした。
Consumption プラン + リクエストは1秒毎
Consumption プランといいつつ毎秒リクエストを受けていれば起きっぱなしだったようで、App Service プランと変わりませんね。平均35.6ms、99パーセンタイル値は100msでした。
Consumption プラン + リクエストは15分毎
予想通り寝たり起きたりしている感じではありますが、思ったよりは安定していました。平均は135ms、50パーセンタイル値が100ms、99パーセンタイル値が640msでした。
参考ドキュメント
実際には処理の内容にも依存することですので、公式ドキュメントを参考にしつつ最後は実測してみましょう。