LoginSignup
37
9

More than 3 years have passed since last update.

Cloud Functions のパフォーマンス(処理速度)をあげるには

Last updated at Posted at 2018-10-09

はじめに結論

Google Cloud Functions (Cloud Functions for Firebase) のパフォーマンス(処理速度)をあげる手っ取り早い方法の一つは、メモリの割り当て量を増やすことです。公式ドキュメント に記載されていますが、以下の通り、メモリの割り当て量を増やせば CPU の割り当て量も比例して増えるので、メモリが十分足りている場合でも、パフォーマンス(処理速度)を上げるために、メモリの割り当て量(CPU の割り当て量)を増やすのは有効な手段となります。なお、デフォルトでは、256 MB に設定されています。

image.png

実験

この記事で作成した Cloud Functions で、メモリの割り当て量を変えて、実行時間を計測した結果が下記になります。メモリの割り当て量を、5分間のインターバルを設けながら、256 MB ⇒ 512 MB ⇒ 1,024 MB ⇒ 2,048 MB と変えて、10分間ずつシーケンシャルに Cloud Functions を実行しました。なお、実行環境は、ランタイムは Node.js 6、リージョンは us-central1 になります。

image.png

計測結果

メモリ 割り当て量 CPU 割り当て量 実行時間 (50th パーセンタイル値)
256 MB 400 MHz 約 5,400 msec
512 MB 800 MHz 約 3,400 msec
1,024 MB 1.4 GHz 約 2,300 msec
2,048 MB 2.4 GHz 約 1,900 msec

結果、メモリ割り当て量(CPU の割り当て量)を増やせば、実行時間も短くなっています。

なお、実際のメモリの使用量は、30 MB ~ 80 MB ぐらいです。メモリの割り当て量が 1,024 MB のときが少なくなっていて、2,048 MB のときが多くなっているのは、原因不明です。

image.png

まとめ

繰り返しになりますが、Google Cloud Functions (Cloud Functions for Firebase) のパフォーマンス(処理速度)をあげる手っ取り早い方法の一つは、メモリの割り当て量を増やすことです。ただし、比例して料金も増加しますので、パフォーマンスとコストのバランスをとってメモリの割り当て量を設定することをお勧めします。

37
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
9