Q.10Gbpsを超える環境(40G/100Gbps以上のネットワーク環境下)において、Bytix Archaea tools(HCP tools)を利用しても十数Gbpsなど40Gbpsまたは100Gbpsに達する速度が出ません。
A.広帯域環境でも期待した性能が出ない場合、以下のような要因が考えられます。
1.単一接続をしている
単一接続では10Gbps~20Gbps程度が限界です。
多重接続を使用してください。
※ライセンスが適用されていない場合は、単一接続になります。
ライセンス適用の有無については、以下も参考にしてください。
⇒サーバの設定―ライセンスを適用させる
2.リソースが不足している
■ CPU負荷の頭打ち(特にHpFP)
■ メモリバンド幅消費の限界
■ 暗号によるCPUやメモリバンド幅に対する負荷増
これらリソースへの負荷を確認するには、
a. OSの負荷監視コマンドで実行時におけるCPU負荷の確認
b. メモリ転送性能の確認
を行います。
a. のCPU負荷は、topコマンド等で確認します。
b. のメモリ転送性能は、hcpd,hcp等の各コマンドで、–run-host-benchmarkオプションを付加することで、ホストの性能レポートの表示が可能です。 ※Archaea tools 1.5.0以降のみ対応
⇒ 通信性能、暗号通信性能、ディスク書込み性能を確認する (run-host-benchmark)
以下は、サーバ側で–run-host-benchmarkオプション実行時の出力例です。
$hcpd --run-host-benchmark
...
-- [Secure Communication Performance] --------------------------------------
AES256/GCM : 15.42Gbps
AES256/CTR : 20.19Gbps
AES256/CTR/VMAC : 20.19Gbps (AES256/CTR slower than VMAC[64.71Gbps])
AES256/CBC : 6.79Gbps
AES256/CBC/HMAC[MD5] : 5.92Gbps
AES256/CBC/HMAC[SHA1] : 5.07Gbps
AES256/CBC/HMAC[SHA256] : 2.77Gbps
-- [File Integrity Validation Performance] ---------------------------------
XXH3 : 12.56Gbps
-- [Base Performance] ------------------------------------------------------
fwrite : 6.36Gbps (free space 83.31GiB)
fread : 14.12Gbps (file size 4.00GiB)
memcpy : 288.24Gbps
memcpy [4 parallels] : 271.98Gbps
memcpy [8 parallels] : 275.09Gbps
----------------------------------------------------------------------------
メモリ転送性能の目安としては、平文通信で100Gbps程度を期待する場合、経験則的には500Gbps~1Tbpsくらいは必要と考えます。
暗号によるCPUやメモリバンド幅に対する負荷については、–run-host-benchmark オプションによりレポートされた結果を参考にしてください。
単一 | 8並列 | 12並列 | 16並列 | |
---|---|---|---|---|
TCP 平文 | 14Gbps | 61Gbps | 68Gbps | 62Gbps |
TCP 暗号 | 5Gbps | 28Gbps | 26Gbps | 25Gbps |
100Gbps測定実績についてはこちらをご覧ください。
HpFPの輻輳制御モードの選択にも注意が必要です。100G環境においてFair(Aggressive)モードで期待する性能が得られない場合もあります。その場合は、Aggressive(Fair)モードをお試しください。
HpFPを使用した場合、CPU負荷やRSS(Receiver Side Scale)による処理スレッドの偏りなどに性能が影響を受けることがあります。CPU負荷上昇を抑えつつ、この偏りを避ける必要がありますが、100G環境の実測から経験則的におおよそ8~16多重が適度との判断をしております。
輻輳制御モードについての詳細は、以下参考にしてください。
⇒【オンラインドキュメント】概要と動作環境-輻輳制御
⇒【製品ホームページ】高速化への挑戦-利用に合わせた帯域制御モード選択
3.ブロックサイズを1MB未満に設定している
デフォルトでブロックサイズは1MBにしてあるため、特に問題はないように初期設定しています。
4.100Gbps環境で、暗号利用時にブロックサイズをデフォルト値(1MB)より大きく超える設定にしている
AES-NIモジュールのバッファとメモリ間のデータ転送(キャッシュイン・アウト)の影響で性能が低下する場合があります。その場合は、次の設定値をデフォルト値(1MB)、またはそれ以下の値に変更してお試しください。
– InitContentBlockSize
– MaxContentBlockSize
各項目の詳細は、以下参考にしてください。
⇒【オンラインドキュメント】 サーバ設定項目 – InitContentBlockSize
⇒【オンラインドキュメント】 サーバ設定項目 – MaxContentBlockSize
⇒【オンラインドキュメント】 クライアントコマンド共通設定項目 – InitContentBlockSize
⇒【オンラインドキュメント】 クライアントコマンド共通設定項目 – MaxContentBlockSize
以下も参考にしてください。
⇒性能が出ない場合 (1G環境以上)
⇒性能が出ない場合 (10G環境以上)