すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:NetACC による TCP アプリケーションの高速化

最終更新日:May 07, 2026

NetACC はユーザーモードライブラリです。互換性のあるソケットインターフェイスを介して eRDMA により TCP アプリケーションを高速化します。コードの変更は不要です。

重要

NetACC はパブリックプレビューです。

ユースケース

NetACC は、ネットワークオーバーヘッドが大きいシナリオに適しています。

  • 秒間パケット数 (PPS) が高いワークロード、特に小さなパケットのトラフィック。NetACC は CPU オーバーヘッドを削減し、スループットを向上させます。たとえば、Redis がリクエストを処理する場合などです。

  • レイテンシーの影響を受けやすいワークロード:eRDMA は TCP よりも低レイテンシーを実現し、ネットワーク応答を高速化します。

  • 有効期間の短い接続が頻繁に発生する場合:NetACC は接続確立を高速化し、接続確立時間を短縮してパフォーマンスを向上させます。

NetACC のインストール

  • インストール方法

    • eRDMA ドライバーを使用して NetACC をインストールする

      NetACC は eRDMA ドライバーとともに自動的にインストールされます。「eRDMA の使用」トピックの「eRDMA を有効にする」をご参照ください。

    • NetACC を個別にインストールする

      NetACC の特定バージョンをインストールする場合や、Elastic Compute Service (ECS) インスタンスで一時的に使用する場合は、次のコマンドを実行します:

      sudo curl -fsSL https://netacc-release.oss-cn-hangzhou.aliyuncs.com/release/netacc_download_install.sh | sudo sh
  • 設定ファイルと最適化パラメータ

    インストール後、/etc/netacc.conf 設定ファイルが自動的に生成されます。ワークロードに応じて、次のパラメータを調整できます:

    • NACC_SOR_MSG_SIZE :バッファサイズ。

    • NACC_RDMA_MR_MIN_INC_SIZE :RDMA により登録される最初のメモリリージョン (MR) のサイズ。

    • NACC_RDMA_MR_MAX_INC_SIZE :RDMA により登録される MR の最大サイズ。

    • NACC_SOR_CONN_PER_QP :キューペア (QP) あたりの接続数。

    • NACC_SOR_IO_THREADS :NetACC スレッド数。

    次の例は、設定ファイルのサンプルを示します:

    /etc/netacc.conf のサンプル設定ファイル

    [netacc]
    # バッファのサイズ。送信するデータブロックが大きい場合は、サイズを増やしてパフォーマンスを向上させるか、サイズを減らしてメモリを節約できます。 
    # int
    NACC_SOR_MSG_SIZE=16384
    
    # RDMA により登録される最初の MR のサイズ。サイズを減らしてメモリを節約できます。
    # このパラメータは、NACC_SOR_MSG_SIZE の値の 2 の N 乗倍となる値に設定します。最小の倍数は 1 です。
    NACC_RDMA_MR_MIN_INC_SIZE=16384
    
    # RDMA により登録される MR の最大サイズ。範囲は 1 MB ~ 512 MB です。サイズを減らしてメモリを節約できます。
    # このパラメータは、NACC_RDMA_MR_MIN_INC_SIZE の値の 2 の N 乗倍となる値に設定します。最小の倍数は 1 です。
    NACC_RDMA_MR_MAX_INC_SIZE=8388608
    
    # QP あたりの接続数。値を増やすとパフォーマンスが向上します。特定のシナリオでは、このパラメータを 1 に設定します。
    # int
    NACC_SOR_CONN_PER_QP=1
    
    # NetACC スレッド数。スループットが高い場合は値を増やします。デフォルト値は 4 です。
    # int
    NACC_SOR_IO_THREADS=4
    
    # 空の QP の有効期限。単位:ミリ秒。0 は空の QP が直ちに期限切れになることを示します。-1 は空の QP が期限切れにならないことを示します。
    NACC_EMPTY_QP_EXPIRE_MS=60000
    
    # 許可される空の QP の最大数。
    NACC_EMPTY_QP_MAX_ALL=100
    
    # 宛先アドレスごとに許可される空の QP の最大数。
    NACC_EMPTY_QP_MAX_PER=10
    
    # RDMA を使用して接続を確立する確率。有効な値:0 ~ 100。
    NACC_CONNECT_RDMA_PERCENT=100
    
    # RDMA をデフォルトで有効にするかどうかを指定します。
    NACC_ENABLE_RDMA_DEFAULT=1
    
    # ログレベル。
    # 0: TRACE
    # 1: DEBUG
    # 2: INFO
    # 3: WARN
    # 4: ERROR
    # 5: FATAL
    NACC_LOG_LEVEL=3
    
    # ログパス。
    NACC_LOG_PATH="/tmp/netacc.log"
    
    # 次のパラメータは使用頻度が低いか、設定する必要がありません。
    
    # スレッドアフィニティ。
    # string
    NACC_SOR_AFFINITY=""
    
    # 接続確立時に TCP を優先して使用するかどうかを指定します。
    # bool
    NACC_CONN_TCP_FIRST=0

NetACC の使用

アプリケーションで NetACC を使用するには、netacc_run コマンドを実行するか、LD_PRELOAD 環境変数を設定します。続行する前に、注意事項のセクションをお読みください。

netacc_run コマンドの実行

netacc_run は、アプリケーション起動時に NetACC を読み込みます。アプリケーションコマンドの前に netacc_run を付けて実行し、NetACC を有効にした状態でアプリケーションを起動します。

netacc_run は、-t (I/O スレッド) や -p (QP あたりの接続数) などのパラメータを受け付けます。netacc_run コマンド実行時に指定したパラメータは、設定ファイルの内容を上書きします。

netacc_run コマンドのパラメータ

netacc_run -h
Usage: netacc_run [ OPTIONS ] COMMAND

Run COMMAND using NetACC for TCP sockets

OPTIONS:
   -f <path>   set config file, default /etc/netacc.conf
   -p <num>    set max connections per QP, default 1
   -t <num>    set netacc io threads, default 4
   -s <num>    set netacc message size, default 16384
   -F <num>    fast connect mode, default 0
   -d          enable debug mode
   -T          use TCP first in connect
   -P <num>    polling cq time ms
   -A <str>    affinity CPU list, 0 | 1-3 | 1,3,4
   -i <num>    set cq comp_vector, default 0
   -h          display this message
   -v          display version info
  • 例:

    次の例では Redis を使用します。Redis コマンドの前に netacc_run を付けて実行すると、NetACC が有効になった状態で Redis が起動します。

    • NetACC を有効にして Redis を起動する:

      netacc_run redis-server
    • NetACC を有効にして redis-benchmark を起動する:

      netacc_run redis-benchmark

LD_PRELOAD 環境変数の設定

LD_PRELOAD 環境変数は、プログラム起動時に事前ロードする共有ライブラリを指定します。自動的に読み込むには、LD_PRELOAD 変数に NetACC ライブラリを設定します。

  1. NetACC 動的ライブラリの場所を確認します:

    ldconfig -p | grep netacc

    出力例:

    image

  2. LD_PRELOAD 環境変数に NetACC 共有ライブラリを設定します:

    LD_PRELOAD=/lib64/libnetacc-preload.so your_application

    your_application を対象アプリケーションに置き換えます。

    例 (Redis):

    • NetACC を有効にして Redis を起動する:

      LD_PRELOAD=/lib64/libnetacc-preload.so redis-server
    • NetACC を有効にして redis-benchmark を起動する:

      LD_PRELOAD=/lib64/libnetacc-preload.so redis-benchmark

    スクリプトで LD_PRELOAD 環境変数を設定する

    頻繁に使用するアプリケーションで NetACC を自動的に読み込む場合や、スクリプトで複数のアプリケーションを管理する場合は、ラッパースクリプトで LD_PRELOAD を設定します。たとえば、run_with_netacc という名前のスクリプトを作成します。

    #!/bin/bash
    LD_PRELOAD=/lib64/libnetacc-preload.so $@

    NetACC を有効にしてアプリケーションを起動します:

    ./run_with_netacc.sh your_application

    例 (Redis):

    • NetACC を有効にして Redis を起動する:

      ./run_with_netacc.sh redis-server
    • NetACC を有効にして redis-benchmark を起動する:

      ./run_with_netacc.sh redis-benchmark

NetACC のモニタリング

netacc_ss は NetACC のモニタリングツールです。netacc_ss コマンドを実行して、NetACC により高速化された TCP プロセスのデータ転送状況を確認します。サーバーとクライアントの両方で実行できます。

netacc_ss コマンド

netacc_ss -h
Usage:
 netacc_ss: [-p] <pid> [options]...
 Show monitoring information of specified netacc process

Options:
 -c   clear unused sock file
 -h   display this help
 -s   display specified monitoring metric[s]. [all|cfg|cnt|mem|qp|sock]
      all: all monitoring information
      cfg: configuration information
      cnt: counter information[default]
      mem: memory information
      qp : queue pair information
      sock: socket information
 -v   display netacc version

Examples:
 netacc_ss -p 12345 -s mem,cnt

NetACC により高速化された TCP プロセスのデータ転送状況を確認します:

netacc_ss -s all -p <Process ID>
説明

プロセス ID を確認するには、ps -ef | grep <Process name> を実行します。

注意事項

  • eRDMA インターフェイス (ERI) 機能が有効な ENI を介して確立された TCP 接続のみが RDMA 接続に変換されます。その他の接続は TCP のままです。

    説明

    通信の両端のいずれにも ERI が有効な ENI がない場合、NetACC は TCP にフォールバックします。

  • RDMA ソケットファイル記述子は、カーネル IPC を介して他のプロセスに送信できません。

    説明

    RDMA 接続は、プロセス間で共有できない特定の QP にバインドされます。

  • NetACC は IPv6 をサポートしていません。競合を防ぐため、sysctl net.ipv6.conf.all.disable_ipv6=1 を実行して IPv6 を無効にしてください。

  • NetACC はホットアップデートをサポートしていません。NetACC を更新する前に、NetACC により高速化されたすべてのプロセスを停止してください。

  • NetACC は、SO_REUSEPORT、SO_ZEROCOPY、TCP_INQ などの一部の TCP ソケットオプションをサポートしていません。

  • NetACC は glibc に依存しており、Golang などの非 glibc 環境では実行できません。

  • NetACC を使用する前に、ulimit -l unlimited を実行して、ロック可能なメモリの最大値を無制限に設定してください。

    説明

    ulimit -l の値が小さすぎる場合、RDMA は上限を超える MR を登録できず、失敗する可能性があります。

  • NetACC により高速化されたアプリケーションが TCP ポートでリッスンする場合、NetACC は RDMA データ転送用に RDMA ポート (TCP ポート + 20000) でもリッスンします。

    説明

    RDMA ポートが使用中である場合、または有効な範囲外である場合、接続は失敗します。競合を回避できるよう、ポートを適切に割り当ててください。

  • fork() 呼び出し後に親プロセスが確立したソケット接続は、子プロセスに引き継がれません。

    説明

    子プロセスは新しいソケット接続を確立する必要があります。

  • QP の再利用はデフォルトで無効です。

    • QP の再利用を有効にするには、NetACC 設定ファイルNACC_SOR_CONN_PER_QP パラメータ、または netacc_run コマンドの QP あたりの接続数 (-p) を 1 より大きい値に設定します。

    • QP の再利用により、QP 数、管理オーバーヘッド、リソース消費が削減され、高並列シナリオにおける通信効率が向上します。

    • QP の再利用を有効にすると、複数の RDMA 接続がローカルポート番号を共有する場合があります。これは、ポート番号が個々の接続ではなく QP を識別するためです。

      説明

      アプリケーションで異なるローカルポート番号 (例:異なるサービス) が必要な場合は、ポート競合を回避するために QP の再利用を無効にしてください。

Redis アプリケーションでの NetACC の使用

Redis アプリケーションにおける NetACC のメリット

  • システムスループットの向上

    NetACC は、PPS が高い Redis ワークロードにおいて CPU オーバーヘッドを削減し、スループットを向上させます。

  • ネットワーク応答の高速化

    NetACC は eRDMA の低レイテンシーを活用し、Redis のネットワーク応答を高速化します。

Redis パフォーマンスベンチマークでの NetACC の使用

redis-benchmark は、同時クライアントリクエストをシミュレートしてサーバーパフォーマンスを測定する Redis の組み込みユーティリティです。

テストシナリオ

NetACC を redis-benchmark と併用し、4 スレッドで 100 クライアントをシミュレートして 500 万件の SET リクエストを送信します。

redis-server コマンドと併用する一般的なパラメータ

redis-server コマンドは Redis サーバーを起動します。使用可能なパラメータを確認するには、redis-server -h を実行します。例:

redis-server --port 6379 --protected-mode no
  • --port 6379:Redis を起動するポート。デフォルト:6379。

  • --protected-mode no:保護モードを無効化します。保護モードが有効な場合、Redis は localhost (127.0.0.1) からの接続のみを受け付け、外部接続を拒否します。これを no に設定すると、すべての IP アドレスからの接続を許可します。

    重要

    本番環境で保護モードを無効化すると、サーバーがセキュリティリスクにさらされます。オープンなネットワーク環境では注意して使用してください。

redis-benchmark で使用する一般的なコマンドパラメータ

redis-benchmark は、複数のクライアントがリクエストを送信する状況をシミュレートする Redis ストレステストツールです。使用可能なパラメータを確認するには、redis-benchmark --help を実行します。例:

redis-benchmark -h 172.17.0.90 -p 6379 -c 100 -n 5000000 -r 10000 --threads 4 -d 512 -t set
  • -h 172.17.0.90:Redis サーバーのホスト名または IP アドレス。この例では 172.17.0.90 に設定します。

  • -p 6379:Redis ポート。デフォルト:6379。

    説明

    Redis ポートを確認するには、sudo grep "^port" /<Path in which the redis.conf file is stored>/redis.conf を実行します。デフォルトでは、redis.conf は /etc/redis.conf にあります。

  • -c 100:同時接続数。

  • -n 5000000:リクエスト総数。

  • -r 10000:ランダムキーの範囲。SET コマンドは、キーの一部として 0 ~ 9999 のランダム整数を使用します。

  • --threads 4:スレッド数。デフォルトでは、redis-benchmark は 1 スレッドを使用します。

  • -d 512SET リクエストあたりのデータサイズ (バイト)。

  • -t set:指定したテストのみを実行します。-t の後にベンチマークするコマンド名を指定します。ここでは set を指定し、SET コマンドのみをベンチマークします。

このコマンドは、4 スレッドで Redis サーバー 172.17.0.90 に対して 100 の同時接続を確立し、ランダムキー (0 ~ 9999) を使用して 512 バイトのペイロードを持つ 500 万件の SET リクエストを送信します。

redis-benchmark のベンチマーク結果における一般的なメトリクス

  • スループットサマリー:

    rps:Redis サーバーが 1 秒あたりに処理するリクエスト数。たとえば、332955.97 requests per second は、約 332,956 リクエスト/秒を意味します。

  • レイテンシーサマリー (単位:ミリ秒):

    • avg:すべてのリクエストにおける平均応答時間。

    • min:すべてのリクエストにおける最小応答時間。

    • p50:50% のリクエストがこのレイテンシー以内に完了します。

    • p95:95% のリクエストがこのレイテンシー以内に完了します。

    • p99:99% のリクエストがこのレイテンシー以内に完了します。

    • max:すべてのリクエストにおける最大応答時間。

前提条件

2 台の eRDMA 対応 ECS インスタンスを作成します。[Auto-install eRDMA Driver and eRDMA Interface] を選択して、プライマリ ENI で ERI を有効にします。1 台を Redis サーバー、もう 1 台をクライアントとして使用します。

インスタンス構成:

  • イメージ: Alibaba Cloud Linux 3

  • インスタンスタイプ: ecs.g8ae.4xlarge

  • プライマリ ENI のプライベート IP アドレス: 172.17.0.90 (サーバー) および 172.17.0.91 (クライアント)。ベンチマークでは実際の値に置き換えてください。

    説明
    • このベンチマークでは、プライマリ ENI で ERI を有効にします。172.17.0.90 は Redis サーバーインスタンスのプライマリ ENI のプライベート IP アドレスです。

    • セカンダリ ENI で ERI が有効になっている場合は、代わりにプライベート IP アドレスを使用します。「eRDMA の使用」トピックのeRDMA の有効化をご参照ください。

ECS インスタンス作成時に特定のパラメータを設定する例

インスタンスを作成する際は、以下のパラメーターに注意してください。 その他のパラメーターについては、「ECS インスタンスのカスタム起動」をご参照ください。

  • インスタンスとイメージ: eRDMA をサポートするインスタンスタイプを選択し、eRDMA ドライバーをインストールします。

    • インスタンス: 詳細については、「制限事項」をご参照ください。

    • イメージ: 公開イメージを選択し、その後eRDMA ドライバーのインストールを選択します。これにより、インスタンス起動時に eRDMA ドライバーが自動的にインストールされます。

      image

  • ENI: プライマリ ENI の右側で ERI 機能を有効にし、ECS インスタンスに ERI をバインドします。

    image

    説明

    エンタープライズレベルインスタンスを作成する際は、プライマリ ENI のみに対して ERI 機能を有効にできます。セカンダリ ENI で eRDMA を構成する必要がある場合は、コンソールまたは API オペレーションを呼び出してセカンダリ ENI に対して ERI 機能を有効にしてください。詳細については、「Elastic RDMA ネットワークインターフェースカード (ERI)」をご参照ください。

操作手順

  1. 両方の ECS インスタンス (Redis サーバーとクライアント) に接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスにログオンする」をご参照ください。

  2. eRDMA ドライバーがインストールされていることを確認します。

    インスタンス起動後、ibv_devinfo を実行して eRDMA ドライバーのステータスを確認します。

    • 次の出力は、ドライバーがインストールされていることを示します。

      image

    • 次の出力は、ドライバーがインストール中であることを示します。数分待ってから再試行してください。

      image

  3. 両方のインスタンスに Redis をインストールします:

    sudo yum install -y redis

    次の出力は、Redis がインストールされていることを示します。

    image

  4. redis-benchmark を使用して Redis パフォーマンスをベンチマークします。

    NetACC を使用してベンチマークを実行する
    1. Redis サーバーインスタンスで、NetACC を有効にして Redis を起動します:

      netacc_run redis-server --port 6379 --protected-mode no
      説明

      次の出力は、Redis が正常に起動したことを示します。

      image

    2. Redis クライアントインスタンスで、NetACC を有効にして redis-benchmark を起動します:

       netacc_run redis-benchmark -h 172.17.0.90 -p 6379 -c 100 -n 5000000 -r 10000 --threads 4 -d 512 -t set
      説明

      Redis ベンチマーク結果の例

      ====== SET ======                                                      
        5000000 requests completed in 6.52 seconds
        100 parallel clients
        512 bytes payload
        keep alive: 1
        host configuration "save": 3600 1 300 100 60 10000
        host configuration "appendonly": no
        multi-thread: yes
        threads: 4
      
      Latency by percentile distribution:
      0.000% <= 0.039 milliseconds (cumulative count 3)
      50.000% <= 0.127 milliseconds (cumulative count 2677326)
      75.000% <= 0.143 milliseconds (cumulative count 3873096)
      87.500% <= 0.151 milliseconds (cumulative count 4437348)
      93.750% <= 0.159 milliseconds (cumulative count 4715347)
      96.875% <= 0.175 milliseconds (cumulative count 4890339)
      98.438% <= 0.183 milliseconds (cumulative count 4967042)
      99.609% <= 0.191 milliseconds (cumulative count 4991789)
      99.902% <= 0.207 milliseconds (cumulative count 4995847)
      99.951% <= 0.263 milliseconds (cumulative count 4997733)
      99.976% <= 0.303 milliseconds (cumulative count 4998853)
      99.988% <= 0.343 milliseconds (cumulative count 4999403)
      99.994% <= 0.367 milliseconds (cumulative count 4999704)
      99.997% <= 0.391 milliseconds (cumulative count 4999849)
      99.998% <= 2.407 milliseconds (cumulative count 4999924)
      99.999% <= 5.407 milliseconds (cumulative count 4999962)
      100.000% <= 6.847 milliseconds (cumulative count 4999981)
      100.000% <= 8.423 milliseconds (cumulative count 4999991)
      100.000% <= 8.919 milliseconds (cumulative count 4999996)
      100.000% <= 9.271 milliseconds (cumulative count 4999998)
      100.000% <= 9.471 milliseconds (cumulative count 4999999)
      100.000% <= 9.583 milliseconds (cumulative count 5000000)
      100.000% <= 9.583 milliseconds (cumulative count 5000000)
      
      Cumulative distribution of latencies:
      18.820% <= 0.103 milliseconds (cumulative count 941003)
      99.917% <= 0.207 milliseconds (cumulative count 4995847)
      99.977% <= 0.303 milliseconds (cumulative count 4998853)
      99.998% <= 0.407 milliseconds (cumulative count 4999879)
      99.998% <= 0.503 milliseconds (cumulative count 4999903)
      99.998% <= 0.703 milliseconds (cumulative count 4999904)
      99.998% <= 0.807 milliseconds (cumulative count 4999905)
      99.998% <= 0.903 milliseconds (cumulative count 4999906)
      99.998% <= 1.007 milliseconds (cumulative count 4999908)
      99.998% <= 1.103 milliseconds (cumulative count 4999909)
      99.998% <= 1.207 milliseconds (cumulative count 4999912)
      99.998% <= 1.407 milliseconds (cumulative count 4999913)
      99.998% <= 1.503 milliseconds (cumulative count 4999915)
      99.998% <= 1.607 milliseconds (cumulative count 4999916)
      99.998% <= 1.703 milliseconds (cumulative count 4999917)
      99.998% <= 1.807 milliseconds (cumulative count 4999918)
      99.998% <= 1.903 milliseconds (cumulative count 4999919)
      99.998% <= 2.103 milliseconds (cumulative count 4999920)
      99.999% <= 3.103 milliseconds (cumulative count 4999931)
      99.999% <= 4.103 milliseconds (cumulative count 4999944)
      99.999% <= 5.103 milliseconds (cumulative count 4999958)
      99.999% <= 6.103 milliseconds (cumulative count 4999971)
      100.000% <= 7.103 milliseconds (cumulative count 4999984)
      100.000% <= 8.103 milliseconds (cumulative count 4999989)
      100.000% <= 9.103 milliseconds (cumulative count 4999996)
      100.000% <= 10.103 milliseconds (cumulative count 5000000)
      
      Summary:
        throughput summary: 767341.94 requests per second
        latency summary (msec):
                avg       min       p50       p95       p99       max
              0.126     0.032     0.127     0.167     0.183     9.583

      サマリーには、約 770,000 リクエスト/秒と表示されています。メトリックの詳細については、「redis-benchmark ベンチマーク結果の一般的なメトリック」をご参照ください。

    ベンチマーク中に netacc_ss を使用して Redis サーバーをモニタリングする

    ベンチマーク中は、Redis サーバーインスタンスで netacc_ss を使用してモニタリングします。

    • Redis プロセス ID (redis-server) を確認します:

      ps -ef | grep redis-server

      次の出力は、redis-server のプロセス ID が 114379 であることを示します。

      image

    • Redis の接続状況とデータ転送状況を確認します:

      netacc_ss -p 114379 -s all
      説明

      114379 を実際の Redis プロセス ID に置き換えます。 「netacc_ss コマンド」をご参照ください。

      出力には、両方のインスタンスで ERI が有効なため RDMA 接続が表示されます。右端の 4 列には、メッセージ数と転送量が表示されます。

      image

    NetACC を使用せずにベンチマークを実行する
    1. Redis サーバーインスタンスで Redis を起動します:

      redis-server --port 6379 --protected-mode no --save ""
      説明

      6379 を実際のポートに置き換えてください。詳細については、「redis-server コマンドと併用される共通パラメーター」をご参照ください。

      次の出力は、Redis が正常に起動したことを示します。

      image

    2. Redis クライアントインスタンスで redis-benchmark を起動します:

       redis-benchmark -h 172.17.0.90 -c 100 -n 5000000 -r 10000 --threads 4 -d 512 -t set
      説明
      • 172.17.0.90 を Redis サーバー IP に、6379 を実際のポートに置き換えます。詳細については、「redis-benchmark で使用される共通のコマンドパラメーター」をご参照ください。

      • ベンチマーク結果はネットワーク状況により変動する場合があります。本トピックのデータは参考値です。

      Redis ベンチマーク結果の例

      ====== SET ======                                                         
        5000000 requests completed in 15.02 seconds
        100 parallel clients
        512 bytes payload
        keep alive: 1
        host configuration "save": 
        host configuration "appendonly": no
        multi-thread: yes
        threads: 4
      
      Latency by percentile distribution:
      0.000% <= 0.055 milliseconds (cumulative count 27)
      50.000% <= 0.287 milliseconds (cumulative count 2635010)
      75.000% <= 0.335 milliseconds (cumulative count 3782931)
      87.500% <= 0.367 milliseconds (cumulative count 4459136)
      93.750% <= 0.391 milliseconds (cumulative count 4720397)
      96.875% <= 0.415 milliseconds (cumulative count 4855130)
      98.438% <= 0.439 milliseconds (cumulative count 4936478)
      99.219% <= 0.455 milliseconds (cumulative count 4965765)
      99.609% <= 0.471 milliseconds (cumulative count 4984031)
      99.805% <= 0.487 milliseconds (cumulative count 4993326)
      99.902% <= 0.495 milliseconds (cumulative count 4995579)
      99.951% <= 0.511 milliseconds (cumulative count 4997659)
      99.976% <= 0.551 milliseconds (cumulative count 4998848)
      99.988% <= 0.599 milliseconds (cumulative count 4999468)
      99.994% <= 0.631 milliseconds (cumulative count 4999722)
      99.997% <= 0.663 milliseconds (cumulative count 4999862)
      99.998% <= 0.695 milliseconds (cumulative count 4999924)
      99.999% <= 0.759 milliseconds (cumulative count 4999964)
      100.000% <= 0.807 milliseconds (cumulative count 4999982)
      100.000% <= 1.935 milliseconds (cumulative count 4999993)
      100.000% <= 2.071 milliseconds (cumulative count 4999996)
      100.000% <= 2.111 milliseconds (cumulative count 4999998)
      100.000% <= 2.119 milliseconds (cumulative count 4999999)
      100.000% <= 2.143 milliseconds (cumulative count 5000000)
      100.000% <= 2.143 milliseconds (cumulative count 5000000)
      
      Cumulative distribution of latencies:
      0.028% <= 0.103 milliseconds (cumulative count 1377)
      0.985% <= 0.207 milliseconds (cumulative count 49228)
      60.094% <= 0.303 milliseconds (cumulative count 3004705)
      96.325% <= 0.407 milliseconds (cumulative count 4816230)
      99.938% <= 0.503 milliseconds (cumulative count 4996887)
      99.991% <= 0.607 milliseconds (cumulative count 4999546)
      99.999% <= 0.703 milliseconds (cumulative count 4999927)
      100.000% <= 0.807 milliseconds (cumulative count 4999982)
      100.000% <= 0.903 milliseconds (cumulative count 4999987)
      100.000% <= 1.903 milliseconds (cumulative count 4999990)
      100.000% <= 2.007 milliseconds (cumulative count 4999995)
      100.000% <= 2.103 milliseconds (cumulative count 4999997)
      100.000% <= 3.103 milliseconds (cumulative count 5000000)
      
      Summary:
        throughput summary: 332955.97 requests per second
        latency summary (msec):
                avg       min       p50       p95       p99       max
              0.292     0.048     0.287     0.399     0.447     2.143

      サマリーには、約 330,000 リクエスト/秒と表示されます。 メトリックの詳細については、「redis-benchmark ベンチマーク結果の一般的なメトリック」をご参照ください。