スケーリングが12倍高速化されました! AWS Lambda 関数が大幅に改善されました!

スケーリングが12倍高速化されました! AWS Lambda 関数が大幅に改善されました!

編纂者:Xing Xuan

制作 | 51CTO テクノロジースタック (WeChat ID: blog)

Marcia は Amazon Web Services のチーフ デベロッパー アドボケートであり、ソフトウェア業界でアプリケーションの構築と拡張に 20 年の経験を持っています。彼女は、クラウドを最大限に活用し、DevOps 文化を取り入れたシステムの設計に熱心に取り組んでいます。彼女は最近、AWS Lambda の大幅な改善点であるスケーリングが 12 倍高速化されたことをブログ記事で公開しました。

1. Lambda関数のアップデート、拡張速度が2倍に

AWS Lambda のスケーリングが 12 倍高速になりました。同期的に呼び出される各 Lambda 関数は、すべての関数の合計同時実行数がアカウントの同時実行制限に達するまで、10 秒ごとに 1,000 回の同時実行にスケールされるようになりました。さらに、関数の呼び出し方法に関係なく、アカウント内の各関数を互いに独立してスケーリングできるようになりました。これらの改善には追加費用はかからず、既存の機能の構成も必要ありません。

写真

従来のアーキテクチャを使用してスケーラブルで高性能なアプリケーションを構築することは困難であり、ピーク時の需要や予測できないトラフィックに対応するために、コンピューティング リソースの過剰プロビジョニングや複雑なキャッシュ ソリューションが必要になることがよくあります。多くの開発者が Lambda を選択するのは、アプリケーションが予測不可能なトラフィックに直面したときにオンデマンドでスケーリングできるためです。

この更新の前は、Lambda 関数は最初の 1 分間にアカウント レベルで 500 ~ 3,000 の同時実行 (リージョンによって異なります) をスケーリングし、その後アカウントの同時実行制限に達するまで 1 分あたり 500 の同時実行ずつスケーリングできました。

このスケーリング制限は同じアカウントとリージョン内のすべての関数で共有されるため、関数にトラフィックの流入が発生すると、同じアカウント内の他の関数のスループットに影響する可能性があります。これにより、アカウント制限を超える可能性のある一部の機能を監視するためのエンジニアリング作業が増加し、ノイジーネイバーシナリオが発生し、同じアカウント内の他の機能の全体的な同時実行性が低下します。

これらのスケーリングの改善により、変動の大きいトラフィックを扱う顧客は、以前よりも早く同時実行ターゲットに到達できるようになりました。たとえば、速報ニュースを掲載するニュース サイトや、フラッシュ セールを実施するオンライン ストアには、大量の訪問者が流入することになります。これらの改善のおかげで、以前よりも 12 倍速く拡張できるようになりました。

さらに、Amazon Athena や Amazon Redshift などのサービスや、Lambda ベースのスカラー UDF を使用してデータの拡充やデータ変換を実行するお客様も、これらの改善の恩恵を受けることができます。これらのサービスは、データをバッチ処理してチャンク単位で Lambda に渡し、複数の並列関数を同時に呼び出します。強化された同時実行スケーリング動作により、Lambda は迅速にスケーリングし、サービス レベル アグリーメント (SLA) 要件を満たすことができます。

2. 実際にどのように機能するのでしょうか?

次の図は、10 秒ごとにリクエストを受信して​​処理する関数を示しています。アカウントの同時実行制限は 7,000 の同時リクエストに設定されており、同じアカウント内のすべての関数間で共有されます。各関数のスケーリング レートは、10 秒ごとに 1,000 回の同時実行に固定されています。このレートは同じアカウント内の他の関数とは独立しているため、必要に応じてこの関数がどのようにスケーリングし、リクエストを調整するかを予測しやすくなります。

写真

  • 09:00:00 – 関数はしばらく実行されており、すでに 1,000 件の同時実行が処理されています。
  • 09:00:10 – 10 秒後、さらに 1,000 件の新規リクエストが急増しました。この関数は 10 秒ごとに最大 1,000 件の同時実行までスケールできるため、問題なく処理できます。
  • 09:00:20 – ここでも同じことが起こります。1,000 件の新しいリクエストです。
  • 09:00:30 – 関数は現在 1,500 件の新しいリクエストを受信して​​います。関数の最大スケーリング容量は 10 秒ごとに 1,000 件のリクエストであるため、そのうち 500 件のリクエストが調整されます。
  • 09:01:00 – この時点で、関数は 4,500 件の同時リクエストを処理しました。しかし突然、3,000件もの新しいリクエストが現れました。 Lambda は 1,000 件の新しいリクエストを処理し、関数が 10 秒ごとに 1,000 件のリクエストにスケールできるため、2,000 件に制限します。
  • 09:01:10 – 10 秒後、さらに 2,000 件のリクエストが集中し、関数はさらに 1,000 件のリクエストを処理できるようになります。ただし、関数は 10 秒ごとに 1,000 件のリクエストに拡張できるため、残りの 1,000 件のリクエストは調整されます。
  • 09:01:20 – 現在、関数は 6,500 件の同時リクエストを処理しており、受信リクエストは 1,000 件あります。これらのリクエストの最初の 500 件は処理されましたが、関数がアカウントの同時実行制限である 7,000 件のリクエストに達したため、残りの 500 件は調整されました。 AWS マネジメントコンソールでサポートチケットを作成することで、アカウントの同時実行制限を増やすことができることを覚えておくことが重要です。

アカウントに複数の関数がある場合、それらの関数は、アカウントの合計同時実行制限に達するまで個別にスケーリングされます。その後、すべての新しい通話は制限されます。

3. 適用範囲と具体的なルール

これらの拡張された改善は、すべての機能に対してデフォルトで有効になっています。 AWS は昨年 11 月 26 日から 12 月中旬にかけて、中国と GovCloud リージョンを除くすべての AWS リージョンにこれらの拡張改善を段階的に展開すると報告されています。

具体的なルールは以下のとおりです。

Lambda は、同時実行スケーリング レートの未使用部分を蓄積しません。つまり、どの時点においても、スケーリング レートは常に最大 1,000 同時ユニットになります。たとえば、利用可能な 1000 個の同時ユニットが 10 秒間隔でまったく使用されなかった場合、次の 10 秒間隔で 1000 個の追加ユニットは追加されません。次の 10 秒間、同時拡張率は 1000 のままです。

関数がさらに多くのリクエストを受信し続ける限り、Lambda はアカウントの同時実行制限まで可能な限り高速にスケールします。予約された同時実行性を構成することで、単一の関数が使用できる同時実行性の量を制限できます。リクエストが関数のスケーリングよりも速く到着した場合、または関数の同時実行性が最大に達した場合、追加のリクエストはスロットリング エラー (ステータス コード 429) で失敗します。

4. まとめ

以前は、Lambda 関数はアカウント レベルでスケーリング制限を共有していたため、1 つの関数でトラフィックが集中するとスループットの問題が発生する可能性がありました。 AWS Lambda 関数の更新により、スケーリングが 12 倍高速化されます。各関数は、アカウントの合計同時実行制限に達するまで、同じアカウント内の他の関数とは独立して、10 秒ごとに 1,000 回の同時実行に拡張されるようになりました。このアップデートでは追加コストや構成の変更は必要なく、迅速なスケーリングが可能になるため、予測できないトラフィックに直面するアプリケーションに大きなメリットをもたらします。

新しい独立したスケーリング システムにより、関数は同時実行ターゲットに迅速に到達できるようになり、速報ニュースやフラッシュ セールなどのシナリオにさらに適しています。

さらに、データ処理に Lambda を活用する Amazon Athena や Amazon Redshift などのサービスでは、このアップデートによりパフォーマンスが向上します。これらの改善はデフォルトで有効になっており、中国と GovCloud リージョンを除くすべての AWS リージョンに展開されます。

<<:  2024 年のクラウド コンピューティング セキュリティの 5 つのトレンドと進歩

>>:  クラウド コンピューティングの種類、サービス、使用法について知っておくべきすべてのことを網羅した決定版ガイド

推薦する

SEO の誤解: ランキングの低下 = Baidu の権威の低下?

ウェブサイトのランキングに関しては、すべてのウェブマスターが非常に心配しています。多くのウェブマスタ...

コンテナが AI を強化 - 360 プライベート クラウド コンテナ サービスにおける人工知能の実践

360プライベートクラウドコンテナサービスチームと人工知能研究所チームは協力して、クラウドでの機械学...

kvmla - 日本の独立サーバー/ソフトバンク+KDDI/80%割引+300元のギフト

1 か月以上のテストを経て、kvmla の Equinix OS1 データ センターが日本大阪で正式...

Qunar.com は Mesos と Docker をベースにしたプライベート クラウド サービスを構築

この記事では、Qunar.com が Mesos と Docker を使用してプライベート クラウド...

A5 Yuehuai: ランキングは良いのにトラフィックがないウェブサイトを避けるためのヒント

多くのウェブマスターは、一定期間ウェブサイトの最適化に熱心に取り組んだ後、ウェブサイトのスナップショ...

内モンゴルモバイルは3G基盤を構築し、クラウドコンピューティングを着実に推進

3G 時代の通信事業者の要件を満たすクラウド コンピューティング アーキテクチャを構築するにはどうす...

床塗料のキーワードランキングを向上させる6つの戦略

現在でも、バックリンクは、Baidu や Google などの検索エンジンがウェブサイトの人気度を測...

Googleの新しい検索アルゴリズム「ペンギン」が「過度にSEO的な」サイトの排除を開始

グーグルは昨年2月、低品質の情報で溢れたさまざまな「コンテンツファーム」ウェブサイトを取り締まること...

ビジネスの俊敏性と迅速なIT対応がデータの恩恵を解き放つ

デジタル経済と従来の経済の最も重要な違いは、パーソナライズされたニーズに迅速に対応できることです。デ...

.CC ドメイン名が再び世間の注目を集め、新たなトレンドとなっています。その理由が明らかになりました。

「.CC ドメイン名を登録すると富と名誉と天下が得られる」という見方は妥当でしょうか? 過去を振り返...

外部リンクの作成についてお話ししましょう

外部リンクはあらゆるウェブサイトにとって不可欠です。しかし、外部リンクを作るのは非常に心配です。気性...

クロス財務分析と会計ゼロタッチBaidu「コア」

友人がこのタイトルを見たら、きっとショックを受けるでしょう。どうしてこのような大手上場企業が核心的な...

これを読むまでは、本当の ASO が何であるかを絶対に理解していないでしょう。

皆さんご存知の通り、 ASOとはアプリストアの検索最適化を指します。スタートアップ企業にとって、AS...

垂直ソーシャルネットワーキング - ペットソーシャルネットワーキングは適切な市場を正確に位置づけ、見つけます

【ポイント】大規模で包括的なSNSはすべての人のニーズを満たすことは決してできないため、SNSの概念...

ウェブサイトの最適化はより強力です

他の SEO 担当者の習慣がどのようなものかはわかりませんが、私がウェブサイトの最適化を行うときは、...