LambdaとFargateのレスポンス性能比較に関する検証レポート

この記事を書いたチーム:frontier

1. 検証の目的

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

本検証の目的は、AWS LambdaAWS FargateにおけるAPIレスポンス性能の差異を明確にすることです。特に、両者のアーキテクチャの違いが実際のレスポンス時間にどの程度影響を与えるかを定量的に評価し、性能差が存在するかどうかを検証します。 

 

2. 検証環境

– Lambda構成:API Gateway → Lambda関数
– Fargate構成:API Gateway → Application Load Balancer (ALB) → ECS (Fargate)

両構成ともに、同一の.NET 8ベースのAPIソースコードを使用し、以下の6つのエンドポイントを実装しています。

No メソッド パス
1 GET /
2 GET /api/values
3 POST /api/values
4 GET /api/values/:id
5 PUT /api/values/:id
6 DELETE /api/values/:id

表1 テスト対象の6つのエンドポイント

 

3. 検証方法

上記6つのエンドポイントに対して、10ミリ秒間隔で順番にリクエストを送信し、これを繰り返して合計1000リクエストを実施。各リクエストのレスポンス時間を計測し、平均・最大・最小の値を比較しました。

 

4. 検証手順

① Postmanでリクエストベースの作成
 まず、Postmanを用いてAPIリクエストのベースとなるコレクションを作成した。対象API.NET 8で構築されており、表1のテスト対象の6つのエンドポイントを含む。
 各リクエストには、必要に応じてパラメータやヘッダー情報を設定し、レスポンスの検証(Assertions)も追加した。これにより、ステータスコードやレスポンス内容の妥当性を自動的にチェックできるようにした。

② コレクションのエクスポート
 作成したコレクションをPostmanからJSON形式でエクスポートし、Newmanで実行可能な状態にした。環境変数やベースURLも合わせてエクスポートし、CLI実行時に適用できるように準備した。

③ Newmanによる実行とレスポンス計測
 次に、Newmanを使用してコレクションをコマンドラインから実行。以下のようなコマンドを用いて、各リクエストを10ミリ秒間隔で順番に送信し、合計1000リクエストを実施した。

※このコマンドにより、各リクエストのレスポンス時間(responseTime)やステータスコード(code)、**レスポンスサイズ(responseSize**などが記録される。

④ 結果の分析
 Newmanの実行結果はJSON形式で出力され、これをもとにExcelやスクリプトで集計・分析を行った。特に以下の指標に注目して比較を行った:
 - 平均レスポンス時間
 - 最大レスポンス時間(コールドスタートの影響)
 - 最小レスポンス時間
 - ステータスコードの分布
 - リクエスト成功率

この結果をもとに、LambdaFargateの性能差を定量的に評価。

 

5. 検証結果

(秒)

Lambda

Fargate

平均

0.136

0.125

最大

1.469

0.510

最小

0.128

0.119

Lambdaの最大値は初回リクエスト時の値であり、コールドスタートによる遅延が発生したと推測されます。

 

6. 考察

検証結果から、平均レスポンス時間においてLambdaFargateの差はわずかであり、Fargateが若干高速であることが分かります。ただし、最大値に注目するとLambdaの初回リクエストにおいて1.469秒という大きな遅延が発生しており、これはLambda特有のコールドスタート問題によるものと考えられます。
一方、Fargateは常時コンテナが稼働しているため、初回リクエストでも安定したレスポンスを維持しており、最大値も0.510秒とLambdaに比べて大幅に短縮されています。

 

7. 結論

今回の検証では、圧倒的な性能差というほどではないものの、Fargateの方が安定性と初回レスポンスにおいて優位であることが確認されました。特に、リアルタイム性が求められるアプリケーションや、コールドスタートによる遅延が許容されないユースケースでは、Fargateの採用がより適していると考えられます。

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス