毎秒 20 リクエストの制限があっても 1 秒間で 40 リクエストを観測している - VMware NSX Data Sources
search cancel

毎秒 20 リクエストの制限があっても 1 秒間で 40 リクエストを観測している - VMware NSX Data Sources

book

Article ID: 449689

calendar_today

Updated On:

Products

VCF Operations for Networks

Issue/Introduction

免責事項:これは英文の記事「40 Requests Per Second observed with 20 RPS limit - VMware NSX Data Sources」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

  • 各 NSX Manager ノードは、コレクター VM から秒間 40 件のリクエストを受信します。

    例:
    $ cut -d ' ' -f 1,2 var/log/proxy/envoy_access_log*|grep <AON_COLLECTOR_IP>| sed -E 's/\.[0-9]{3}Z//'|sort|uniq -c|sort -nr|head -n1
    40 [<DATE>T01:01:23] <AON_COLLECTOR_IP>

  • 1 秒あたり 40 件のリクエストが発生する前に、一定期間の非アクティブ状態が続きます。

    例えば、タイムスタンプが <DATE>T01:01:23 の場合、<DATE>T01:01:22にアイドル状態が確認できます。

    $ cut -d ' ' -f 1,2 var/log/proxy/envoy_access_log*|grep <AON_COLLECTOR_IP>| sed -E 's/\.[0-9]{3}Z//'|sort|grep <DATE>T01:01:23|wc -l
    40

    $ cut -d ' ' -f 1,2 var/log/proxy/envoy_access_log*|grep <AON_COLLECTOR_IP>| sed -E 's/\.[0-9]{3}Z//'|sort|grep <DATE>T01:01:22|wc -l
    0

  • VCF Operations for Networks はデフォルトで毎秒 20 リクエストに設定されています。
    Reducing API calls sent from VCF Operations for Networks to NSX Managers

Environment

VCF Operations for Networks

VMware NSX Manager

Cause

これは想定される動作であり、VMware NSX 用コレクターに実装されている「バースト型」レート制限ロジックの結果です。

システムはデフォルトで 1 秒あたり 20 件のリクエストに設定されています。アイドル状態または非アクティブ状態の間、RateLimiter は「許可」を蓄積します。これらの静かな期間中、最大 20 件の許可を蓄積できます。アイドル状態の後にトラフィックが急増すると、RateLimiter は蓄積された20件の許可を待ち時間なしで即座に消費します。同時に、その進行中の 1 秒間に対する通常の 20 リクエストの許可も継続して行います。

蓄積された許可 20 件(バースト)+通常の許可 20 件(現在のレート)= 合計で 40 件が最初の 1 秒に許可されるリクエスト件数となります。

Resolution

解決策や設定変更は不要です。1 秒あたり 40 件のリクエストという観測結果は、バースト的なトラフィックパターンに対応するためにNSXデータソース用コレクターに実装されたRateLimiterの検証済みの機能動作です。