Blog

※本ブログの内容は個人的見解であり、所属組織及び企業の意見を代弁するものではありません。 / # The contents expressed here are only my personal opinions.

Windows Server 2012 R2 - 40GbE TCP/IP性能例

※実際の性能はハードウェア構成、ドライババージョン、設定等で異なるため、あくまで一例である。

  • NIC :Mellanox ConnectX-3Pro (40GbEモード) [FW:2.30.8000(WinOF4.60に付属)]
  • ドライバ :Mellanox WinOF4.60
  • ドライバオプション:全てデフォルト設定(JumboFrame無効)
  • 構成:40GbE Copper QSFPケーブル直結対向構成
  • ベンチマークツール :NTttcp v5.28(Microsoftベンチマークツール)

Windows版iperf等もあるが、Windows環境での推奨ベンチマークツールはNTttcpとのこと。下記Microsoft WEBより入手可能。2013年4月に公開されている。過去5年に渡ってMicrosoft "internal only"であったが、内外各所からの要望で公開された模様。

NTttcp Version 5.28 Now Available - Server and Cloud Partner and Customer Solutions Team Blog - Site Home - TechNet Blogs

送信側:# NTttcp.exe -s -m 16,*,10.0.0.10 -a 2 -t 10000

受信側:# NTttcp.exe -r -m 16,*,10.0.0.10 -a 2 -t 10000

  • IPアドレスは送信側、受信側共に受信側IPを指定する。
  • -s : 送信側、-r:受信側、-m: X,Y,Z : X:セッション数、Y:プロセッサ(*で全プロセッサ使用)、Z:受信IPアドレス、-a:セッション内同時I/O
  • -tは実行時間(秒)。十分大きくしてパフォーマンスメーターで性能状況を観測した。

 

f:id:kz_tomo:20140419184541j:plain

性能状況例

  • 受信側タスクマネージャー:38.4 Gbps程度を確認

f:id:kz_tomo:20140419194812j:plain

参考:NTttcpのヘルプ

 NTttcp: [-s|-r|-l|-n|-p|-sp|-a|-rb|-sb|-u|-w|-d|-t|-cd|-wu|-v|-6|-wa|-nic|-xml]

-m <mapping> [mapping]

 

        -s   work as a sender

        -r   work as a receiver

        -l   <Length of buffer>         [default TCP:  64K, UDP: 128]

        -n   <Number of buffers>        [default:  20K]

        -p   <port base>                [default: 5001]

        -sp  synchronize data ports, if used -p should be same on every instance

 

        -a   <outstanding I/O>          [default:    2]

        -rb  <Receive buffer size>      [default:  64K]

        -sb  <Send buffer size>         [default:   8K]

                                   -a : [default:    0]

               <Send buffer size> < 0 : system default

        -u   UDP send/recv

        -w   WSARecv/WSASend

        -d   Verify Flag

        -t   <Runtime> in seconds. When with -n mans max test time and disables

             -wu and -cd flags.         [default (with -n): 3h]

        -cd  <Cool-down> in seconds

        -wu  <Warm-up> in seconds

        -v   enable verbose mode

        -6   enable IPv6 mode

        -wa  Sets the WAIT_ALL flag when using recv or WSARecv functions

        -nic <NIC IP>

             Use NIC with <NIC IP> for sending data (sender only).

        -xml [filename] save XML output to a file, by default saves to xml.txt

        -m   <mapping> [mapping]

             where a mapping is a session(s),processor,StartReceiver IP set

             e.g. -m 4,0,1.2.3.4 sets up:

             4 sessions on processor 0 to test a network on 1.2.3.4