2016-06-15 5 views
0

私はいくつかのメモリ制限設定(128,256,512)でテストした(Nodejs 4.3)ラムダ関数を持っています。AWSラムダメモリ対実行時間

メモリ制限を引き上げると、実行時間が予想通りに短くなります。しかし、使用された最大メモリになります。メモリの制限を減らすたびに、実行時間と使用された最大メモリがバックアップされます。

どのような考えですか?私が必要とする実行時間をどのようにヒットするかを把握しようとしているが、過払いではない。

答えて

1

これはメモリを利用するノードVMです。使用可能な場合は、それを使用します(VMまたはDockerを使用してこのシナリオをローカルで再現することも可能です)。私はあまり心配しないで、VMに何をすべきか、あるいはガベージコレクションについて考えるように指示することはお勧めできません(これはNode.jsでは簡単ではありません)。ノードは私が言うことができるすべてのメモリについて非常に日和見主義的です。妥当な応答時間を得てそれを残すために必要な金額を選択します。

「暖かい」ランでは、メモリの設定量が少なくてもスピードが上がりますが、「コールド」ランは高くなると思います。だから生産では、それほど大きな懸念はないかもしれない。

コードのプロファイリングを開始して最適化しようとするかもしれません...しかし、やはりNodeは、開発者がマシン上のリソースについて心配することを本当に望んでいません。それはあなたのために最適化しようとします。それはあなたがそのように請求されたとき少し不幸です。これは、Goがラムダでネイティブサポートされた理由の一部です。