NTTTCP.exe 是一个微软提供的网络性能测试工具,通常用于测试和诊断 TCP/IP 网络连接的性能。它可以用来测量网络带宽、延迟、吞吐量等指标,适用于数据中心、网络管理员、开发人员等场景中,用于验证网络性能和调优。

GitHub - microsoft/ntttcp

使用 NTTTCP 测试 VM 网络吞吐量 | Microsoft Learn

 

NTTTCP.exe 是一个微软提供的网络性能测试工具,通常用于测试和诊断 TCP/IP 网络连接的性能。它可以用来测量网络带宽、延迟、吞吐量等指标,适用于数据中心、网络管理员、开发人员等场景中,用于验证网络性能和调优。

NTTTCP.exe 的基本信息

  • 功能NTTTCP.exe 用于在两台计算机之间执行 TCP 和 UDP 的负载测试,帮助测试计算机之间的网络带宽和吞吐量。它可以在局域网(LAN)或者广域网(WAN)中测试网络性能。
  • 协议支持:支持 TCP 和 UDP 两种协议,可以用来模拟不同类型的网络流量。
  • 用途:通常用于检查网络的实际吞吐量和性能,评估网络连接的健壮性,发现潜在的瓶颈问题,进行压力测试和性能优化等。

如何使用 NTTTCP

  1. 下载和安装NTTTCP.exe 并不包含在 Windows 默认安装中,但它可以从微软的官网下载或者通过其他渠道获得。它通常作为一个命令行工具运行。

  2. 启动命令:运行 NTTTCP 需要在命令行中输入特定的命令和参数。常见的用法包括:

    bashCopy Code
    ntttcp -s    # 作为服务器端启动
    ntttcp -c    # 作为客户端启动
    • -s:作为服务器端启动,等待客户端连接。
    • -c:作为客户端启动,连接到服务器端并开始测试。
    • -t:指定测试时间长度,例如 -t 30 表示进行 30 秒的测试。
    • -l:设置测试时使用的 TCP 窗口大小。
    • -p:设置要使用的端口。

    示例:

    • 在一台计算机上运行 NTTTCP.exe 作为服务器:
      bashCopy Code
      ntttcp -s -p 5001
    • 在另一台计算机上运行 NTTTCP.exe 作为客户端,连接到服务器并执行测试:
      bashCopy Code
      ntttcp -c <服务器 IP 地址> -p 5001
  3. 性能测试:客户端启动后,会连接到服务器,测试期间会传输大量数据。通过测量这些数据的传输速率,您可以看到网络的带宽使用情况、吞吐量、延迟等指标。

NTTTCP 的常见用途

  1. 带宽测试:它可以帮助你测试局域网或广域网的实际带宽,检测网络性能,查看是否满足预期的网络速度。

  2. 压力测试:它可以用来模拟高负载网络流量,查看网络在高负载情况下的表现。通过调节流量大小和测试时长,网络管理员可以检测网络的最大吞吐量和压力极限。

  3. 诊断网络瓶颈:通过不同的配置和场景,NTTTCP 可以帮助定位网络传输中的瓶颈,如 CPU 限制、硬件性能、路由配置等。

  4. 调优网络设置:通过连续的测试,您可以发现网络中的配置问题,如 MTU、窗口大小、TCP 协议栈配置等。

为什么使用 NTTTCP

  • 高精度NTTTCP.exe 是微软为网络性能测试专门设计的工具,因此它提供了较为准确的测试结果,可以精确地衡量网络的带宽、吞吐量等参数。
  • 多种配置选项:它支持多种配置和测试参数,包括不同的协议(TCP 和 UDP)、测试持续时间、数据包大小、TCP 窗口大小等,可以满足不同的测试需求。
  • 跨平台兼容性:虽然 NTTTCP 主要用于 Windows,但也可以通过一些适配器和方法在其他平台(如 Linux)上运行。

NTTTCP.exe 是一个强大的网络性能测试工具,特别适用于 IT 管理员和网络工程师,帮助他们评估和优化网络性能。通过提供详细的带宽、吞吐量和延迟等指标,它能帮助诊断和定位网络问题,确保网络的最佳运行状态。


NTTTCP.exe 是一个用于网络性能测试的命令行工具,它通过 TCP 和 UDP 协议进行数据传输的测试,以测量网络带宽、吞吐量、延迟等关键性能指标。NTTTCP.exe 提供了多种命令选项和参数来进行不同类型的测试。以下是 NTTTCP.exe 命令的功能分类及常见选项。

1. 基础功能

  • 服务器模式 (-s)
    启动 NTTTCP 作为服务器端,等待客户端的连接并开始传输测试数据。
    bashCopy Code
    ntttcp -s
  • 客户端模式 (-c)
    启动 NTTTCP 作为客户端,连接到指定的服务器并进行数据传输测试。
    bashCopy Code
    ntttcp -c <Server IP Address>

2. 性能测试相关功能

  • 指定协议 (-p)
    用于指定所使用的协议。可以选择 TCP 或 UDP(默认是 TCP)。
    • TCP:-p tcp
    • UDP:-p udp
    bashCopy Code
    ntttcp -c <Server IP Address> -p udp
  • 设置测试时长 (-t)
    指定测试的时长,单位是秒。默认是 10 秒。
    bashCopy Code
    ntttcp -c <Server IP Address> -t 30  # 进行 30 秒的测试

3. 性能调优相关功能

  • 设置 TCP 窗口大小 (-l)
    设置 TCP 窗口大小。通过调整窗口大小,可以模拟不同的网络条件,优化性能。
    bashCopy Code
    ntttcp -c <Server IP Address> -l 128K  # 设置 TCP 窗口大小为 128KB
  • 指定连接的端口 (-p)
    通过该参数指定 TCP/UDP 使用的端口。可以指定多个端口进行测试。
    bashCopy Code
    ntttcp -s -p 5001
    ntttcp -c <Server IP Address> -p 5001

4. 数据传输控制相关功能

  • 指定每个连接的发送数据量 (-b)
    用于设置每个连接发送的数据量,通常用于测试不同数据量下的性能。
    bashCopy Code
    ntttcp -c <Server IP Address> -b 64K  # 每个连接发送 64KB 的数据
  • 指定并发连接数 (-n)
    指定客户端的并发连接数,用于模拟高并发负载。
    bashCopy Code
    ntttcp -c <Server IP Address> -n 10  # 启动 10 个并发连接进行测试

5. 多线程与多进程相关功能

  • 使用多个线程 (-T)
    设置测试时的线程数,通常用于在多核 CPU 上进行测试,以模拟更高的负载。
    bashCopy Code
    ntttcp -c <Server IP Address> -T 4  # 启动 4 个线程进行并行测试
  • 多进程测试 (-a)
    启用多进程来执行测试。这对于高性能测试尤为重要,可以增加测试的并行度。
    bashCopy Code
    ntttcp -c <Server IP Address> -a

6. 输出与结果格式化功能

  • 输出详细测试信息 (-v)
    输出详细的测试信息,包括每个连接的传输速率、延迟等。
    bashCopy Code
    ntttcp -c <Server IP Address> -v
  • 保存结果到文件 (-o)
    将测试结果保存到指定的文件中,以便后续分析。
    bashCopy Code
    ntttcp -c <Server IP Address> -o result.txt

7. 其他功能

  • 指定测试协议的端口范围 (-P)
    可以指定端口范围,进行端口扫描或多端口的性能测试。
    bashCopy Code
    ntttcp -s -P 5001-5050
  • 测试 UDP 的负载情况 (-u)
    -u 参数用于测试 UDP 协议的性能,它可以测试 UDP 连接的吞吐量。
    bashCopy Code
    ntttcp -c <Server IP Address> -u
  • 指定发送数据的速率 (-r)
    通过 -r 参数,用户可以设置每秒发送的数据量(速率)。这对测量网络带宽非常有用。
    bashCopy Code
    ntttcp -c <Server IP Address> -r 100M  # 每秒发送 100MB 数据

NTTTCP.exe 提供了许多功能选项,帮助用户对网络进行全面的性能测试。它支持协议选择、测试时长控制、并发连接数设置、TCP 窗口大小调节、线程/进程控制等功能,以满足不同的网络测试需求。通过这些功能,用户可以有效评估网络的带宽、吞吐量、延迟等重要指标,从而帮助定位网络瓶颈或优化网络配置。


NTTTCP.exe 是一个广泛应用于网络性能测试的工具,尤其适用于高性能网络评估、带宽测量、吞吐量测试以及负载测试等场景。以下是一些典型的应用场景:

1. 带宽和吞吐量测试

NTTTCP.exe 被广泛应用于测量网络连接的带宽和吞吐量,尤其是在数据中心、企业网络和互联网连接的优化过程中。通过模拟不同的数据流量,测试网络链路是否能承载所需的带宽。

  • 应用场景:
    • 数据中心与云服务之间的带宽评估。
    • 互联网服务提供商(ISP)为客户提供带宽服务时进行的吞吐量测试。
    • 确保远程办公室、分支机构之间的网络链路具有足够的带宽。

2. 网络设备性能评估

在网络硬件部署或升级时,NTTTCP.exe 可以用于测试各种网络设备(如路由器、交换机、防火墙等)的性能。它帮助确认设备能在高负载下稳定运行,保证设备在多用户连接的情况下提供最佳的网络性能。

  • 应用场景:
    • 测试新部署的网络设备(如交换机、路由器)是否能够承受预期的负载。
    • 测试防火墙或其他网络安全设备对数据流量的处理能力。
    • 在网络设备升级后,验证设备在高流量环境中的表现。

3. 服务器性能与负载测试

在服务器部署后,可以使用 NTTTCP.exe 来测试服务器的网络连接性能,模拟多个并发用户进行数据传输,测试服务器的负载能力、响应速度和稳定性。

  • 应用场景:
    • 测试 Web 服务器、文件服务器和数据库服务器的网络吞吐量。
    • 测试大型应用程序、云计算平台或虚拟化环境的网络性能。
    • 对于高并发的服务(如流媒体、游戏服务器、电子商务网站),确保网络连接能够支撑高访问量。

4. 网络优化与故障排查

在网络出现瓶颈或性能问题时,NTTTCP.exe 可用于快速诊断和定位问题所在。通过测试网络不同部分的带宽和延迟,用户可以找出网络中的瓶颈,优化网络性能。

  • 应用场景:
    • 进行网络故障排查,确认问题是由网络带宽不足、设备性能问题还是配置错误引起的。
    • 优化网络拓扑结构,确保高流量路径不会成为瓶颈。
    • 在大规模应用程序上线前,进行负载测试,确保能够在生产环境中承受预期流量。

5. 多协议性能测试

NTTTCP.exe 支持 TCP 和 UDP 协议的测试,因此它适用于那些需要对不同协议进行性能评估的场景。例如,UDP 协议常用于实时应用(如视频流、语音通话),而 TCP 协议常用于可靠数据传输。

  • 应用场景:
    • 测试实时流媒体服务的网络性能,尤其是在 UDP 协议下的吞吐量和丢包率。
    • 对比 TCP 和 UDP 协议在不同网络条件下的表现,帮助网络管理员选择最佳的协议。
    • 测试不同协议在不同网络环境下的表现,如局域网(LAN)和广域网(WAN)中的差异。

6. 数据中心和云环境性能验证

在数据中心和云环境中,NTTTCP.exe 可以用来测试多个虚拟机、服务器和存储系统之间的网络性能。随着云计算和虚拟化技术的普及,测试这些环境中的网络传输能力变得尤为重要。

  • 应用场景:
    • 测试云服务提供商提供的网络带宽和吞吐量。
    • 在数据中心内验证虚拟化平台中的网络性能,确保虚拟机之间的高效通信。
    • 对于容器化应用(如 Kubernetes 环境),验证容器之间的网络通信是否符合预期。

7. 网络安全测试

在进行网络安全性评估时,NTTTCP.exe 可以用来模拟不同类型的网络流量,帮助测试和分析防火墙、入侵检测系统(IDS)和入侵防御系统(IPS)在高负载下的表现。

  • 应用场景:
    • 测试防火墙和网络安全设备在高流量条件下的响应能力。
    • 评估网络攻击(如 DDoS 攻击)对网络性能的影响。
    • 验证网络安全策略对正常流量的影响,确保安全措施不对正常流量产生过多干扰。

8. 优化互联网链路

对于企业或组织来说,使用 NTTTCP.exe 进行互联网链路性能测试是确保外部网络连接质量的关键步骤。通过模拟实际的网络流量,帮助识别和解决外部连接中的性能瓶颈。

  • 应用场景:
    • 测试与外部互联网连接的带宽、延迟和丢包率。
    • 评估跨地域网络链路(如总部与分支机构之间的连接)性能,确保全球网络的稳定性。
    • 确认互联网服务提供商提供的带宽和延迟是否符合合同约定。

NTTTCP.exe 在许多领域都有广泛的应用,尤其是在高负载、高带宽需求的网络环境中。它不仅能够帮助网络管理员评估和优化现有网络,还能提供有效的工具来诊断网络问题,确保网络设备和服务能够满足实际需求。通过合理配置和使用 NTTTCP.exe,可以显著提高网络的可靠性、稳定性和性能。


版权版本 5.40

版本 5.40

NTttcp: [-s|-r|-l|-n|-p|-sp|-ns|-to|-a|-rb|-sb|-u|-w|-d|-t|-cd|-wu|-v|-6|-wa|-nic|-xml|-ndl|-na|-hpt|-uso|-uro|-x|-hv|-nsb|-thr|-brn|-lm|-icp|-cfi|-es|-sam|-qos|-jm|-ps] -m <映射>

    -s   作为发送方工作
    -r   作为接收方工作
    -l   <缓冲区大小>         [默认 TCP: 64K, UDP: 128]
    -n   <缓冲区数量>        [默认: 20K]
    -p   <端口基数>                [默认: 5001]
    -sp  同步数据端口,若使用 -p,必须在每个实例中保持相同。
    -ns  不同步。发送方将尽快开始发送数据。
         默认情况下,发送方会在与接收方完成握手后,验证接收方是否准备好,使用额外的 TCP 连接。
         该选项对于多线程测试非常有用,可以减少测试开始的时间,并增加最大连接数。
         所有或没有 NTttcp 实例必须使用此选项。
    -to  <超时>,单位毫秒。 [默认: 600000]
         如果 I/O 或线程等待超时,则会失败。
         设置为 0 表示无限超时。 (NTttcp 可能会无限期挂起。)
    -a   <未完成 I/O>          [默认: 2]
    -rb  <接收缓冲区大小>      [默认: -1]
         仅在非负值时,SO_RCVBUF 将设置为此值。
         如果 SO_RCVBUF 为 0,将禁用 Winsock 接收缓冲区。
         如果为负值,则使用操作系统默认行为(例如,动态缓冲)。
    -sb  <发送缓冲区大小>         [默认: 0 使用 -a;-1 其他情况]
         仅在非负值时,SO_SNDBUF 将设置为此值。
         如果 SO_SNDBUF 为 0,将禁用 Winsock 发送缓冲区。
         如果为负值,则使用操作系统默认行为(例如,动态缓冲)。
    -ndl 设置 TCP_NODELAY 套接字选项
    -u   使用 UDP 发送/接收
    -w   使用 WSARecv/WSASend
    -rt  启用往返模式
    -d   验证标志
    -t   <运行时间>,单位秒。与 -n 一起使用时表示最大测试时间,并禁用 -wu 和 -cd 标志。         [默认(与 -n 一起使用时):3小时]
    -cd  <冷却时间>,单位秒
    -wu  <预热时间>,单位秒
    -v   启用详细模式
    -6   启用 IPv6 模式
    -wa  使用 recv 或 WSARecv 函数时设置 WAIT_ALL 标志
    -nic <NIC IP>
         使用 <NIC IP> 的网络接口卡(仅发送方)。
    -xml [文件名] 保存 XML 输出到文件,默认保存到 xml.txt
    -na  <NUMA 节点编号> 将进程绑定到特定 NUMA 节点。
         如果 -m 映射指定了处理器编号,则此选项无效。
    -hpt 隐藏每个线程的统计信息
    -uso <消息大小> 启用 UDP 分段卸载,最大消息大小为此值。
    -uro 启用 UDP 接收合并。
    -uc  使用无连接的 UDP 套接字和 sendto/recvfrom。
    -x   <数据包数组大小>         [默认: 1]
         使用 TransmitPackets,并使用给定的数据包数组大小调用它。
    -hv  使用 AF_HYPERV。主机名必须是 VM GUID。
    -nsb 无标准 I/O 缓冲区,所有输出将立即刷新。
    -thr <吞吐量[KB/s]>
         以每个线程指定的吞吐量发送数据(仅发送方)。
    -brn <烧CPU量>
         在完成 I/O 后执行的 CPU 操作量。
    -lm  执行延迟测量。NTttcp 使用 QueryPerformanceCounter 来测量延迟。启用后可能会影响性能。
    -icp <最大活动线程数>        [默认: -1]
         I/O 完成端口最大活动线程数,<0 表示应使用 WaitForMultipleObjects。0 表示使用与 CPU 数量相同的线程数的 I/O 完成端口。
         大于 0 时设置线程数为指定值。
    -cfi 使用空闲 CPU 周期计算 CPU 使用率(Vista 或更高版本)
    -es  收集 EStats(仅显示在 XML 中,必须以管理员身份运行)。
    -sam <采样时间周期>,单位秒。
    -qos <QOS 优先级> 从 0 到 5 的整数,映射到流量类型:
         0 : QOSTrafficTypeBestEffort      : 与非 QOS 流量优先级相同
         1 : QOSTrafficTypeBackground      : 低于正常优先级
         2 : QOSTrafficTypeExcellentEffort : 高于正常优先级
         3 : QOSTrafficTypeAudioVideo      : 音视频流
         4 : QOSTrafficTypeVoice           : 实时语音流
         5 : QOSTrafficTypeControl         : 最高优先级
         默认情况下禁用 QOS。
    -jm  [文件名] 抖动测量:
         测量并输出数据包到达时间。发送方不应指定文件名,但接收方必须指定输出文件。
         缓冲区长度必须大于或等于 20 字节。
         输出格式为 CSV,包含以下标题:
         packet_num , send_count, send_freq, recv_count, recv_freq
    -ps  <持续时间(毫秒)> 等待缓冲区发送之间的时间(仅发送方)。
         数据包间隔仅支持 1 线程同步发送。
         间隔必须在 5 到 1000 毫秒之间。
         使用 -ps 时不支持 -thr 和 -brn 选项。
    -m   <映射>
         一个或多个映射 3 元组,用空格分隔:
         (线程数量,处理器编号,接收方地址或名称)
         处理器编号必须在进程的 kgroup 中。如果处理器编号为 "*",则线程不绑定。
         例如:“-m 4,0,1.2.3.4 2,*,contoso” 设置:
          - 在处理器 0 上运行 4 个线程,连接到 1.2.3.4
          - 2 个未绑定的线程连接到 contoso

Copyright Version 5.40

Version 5.40

NTttcp: [-s|-r|-l|-n|-p|-sp|-ns|-to|-a|-rb|-sb|-u|-w|-d|-t|-cd|-wu|-v|-6|-wa|-nic|-xml|-ndl|-na|-hpt|-uso|-uro|-x|-hv|-nsb|-thr|-brn|-lm|-icp|-cfi|-es|-sam|-qos|-jm|-ps] -m <mappings>

        -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 must be same on every instance.
        -ns  No sync. Senders will start sending as soon as possible.
             By default, senders will only start after they perform a handshake
             with receivers verifying readiness, using extra TCP connections.
             The option is helpful for many-thread tests, reducing time for
             the test to start and increasing the max allowed connections.
             Either all or none of the NTttcp instances must have this option.
        -to  <timeout> in milliseconds. [default: 600000]
             I/O and thread waits will fail if hung for this duration.
             Set to 0 for infinite timeouts.  (NTttcp may hang indefinitely.)
        -a   <outstanding I/O>          [default: 2]
        -rb  <Receive buffer size>      [default: -1]
             If and only if non-negative, SO_RCVBUF will be set to this value.
             SO_RCVBUF of 0 will disable winsock receive buffering.
             If negative, use OS default behavior. (e.g. dynamic buffering)
        -sb  <Send buffer size>         [default: 0 with -a; -1 otherwise]
             If and only if non-negative, SO_SNDBUF will be set to this value.
             SO_SNDBUF of 0 will disable winsock send buffering.
             If negative, use OS default behavior. (e.g. dynamic buffering)
        -ndl set TCP_NODELAY socket option
        -u   UDP send/recv
        -w   WSARecv/WSASend
        -rt  enable roundtrip mode
        -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
        -na  <NUMA node number> Affinitize process to a particular NUMA node.
             If -m mapping specifies a processor number, this option
             has no effect.
        -hpt hide per thread stats
        -uso <Message size> Enable UDP segmentation offload with this maximum
             message size.
        -uro Enable UDP receive coalescing.
        -uc  Use unconnected UDP sockets and sendto/recvfrom.
        -x   <PacketArray size>         [default: 1]
             Use TransmitPackets, calling it with the given packet array size.
        -hv  Use AF_HYPERV. Host names must be VM GUIDs
        -nsb no stdio buffer, all output will be flushed immediately.
        -thr <throughput[KB/s]>
             Send data with throughput specified for each thread (sender only).
        -brn <burn cpu amount>
             Amount of CPU operations performed after completing an IO.
        -lm  Do latency measurement. NTttcp uses QueryPerformanceCounter to
             measure latency. May impact performance if you enable it.
        -icp <max active threads>        [default: -1]
             I/O Completion Ports max active threads value < 0 indicates that
             WaitForMultipleObjects should be used instead. 0 means using I/O
             completion ports with same number of threads as number of cpu-s.
             Anything > 0 sets number of threads to that value.
        -cfi Uses idle CPU cycles to compute CPU utilization (Vista or higher)
        -es  Collect EStats (only displayed in XML, must run as admin).
        -sam <sample time period> in seconds.
        -qos <QOS priority> integer from 0 to 5 which maps to traffic types:
             0 : QOSTrafficTypeBestEffort      : same priority as non-QOS
             1 : QOSTrafficTypeBackground      : lower priority than normal
             2 : QOSTrafficTypeExcellentEffort : more important than normal
             3 : QOSTrafficTypeAudioVideo      : A/V streaming
             4 : QOSTrafficTypeVoice           : realtime voice streams
             5 : QOSTrafficTypeControl         : highest priority
             QOS is disabled by default.
        -jm  [filename] Jitter measurement:
             measure and output packet arrival time. Sender should not include
             a filename but the receiver must specify the output file.
             Buffer length must be greater than or equal to 20 bytes.
             The output format is a CSV with the following headers:
             packet_num , send_count, send_freq, recv_count, recv_freq
        -ps  <duration (ms)> Wait between buffer sends in ms (sender only).
             Packet spacing is only supported for 1 thread synchronous sending.
             The spacing must be between 5 and 1000 ms.
             -thr and -brn are not supported options when -ps is used.
        -m   <mappings>
             One or more mapping 3-tuples separated by spaces:
             (number of threads, processor number, receiver address or name)
             Processor number must be in the process kgroup. If processor number
             is "*", the threads are not affinitized.
             e.g. "-m 4,0,1.2.3.4 2,*,contoso" sets up:
              -4 threads on processor 0 to connect to 1.2.3.4
              -2 unaffinitized threads to connect to contoso


选项 描述
ntttcp -s 作为发送方工作
ntttcp -r 作为接收方工作
ntttcp -l <缓冲区大小> [默认 TCP: 64K, UDP: 128]
ntttcp -n <缓冲区数量> [默认: 20K]
ntttcp -p <端口基数> [默认: 5001]
ntttcp -sp 同步数据端口,若使用 -p,必须在每个实例中保持相同
ntttcp -ns 不同步。发送方将尽快开始发送数据。
ntttcp -to <超时>,单位毫秒 [默认: 600000]
ntttcp -a <未完成 I/O> [默认: 2]
ntttcp -rb <接收缓冲区大小> [默认: -1]
ntttcp -sb <发送缓冲区大小> [默认: 0 使用 -a;-1 其他情况]
ntttcp -ndl 设置 TCP_NODELAY 套接字选项
ntttcp -u 使用 UDP 发送/接收
ntttcp -w 使用 WSARecv/WSASend
ntttcp -rt 启用往返模式
ntttcp -d 验证标志
ntttcp -t <运行时间>,单位秒 [默认: 3小时]
ntttcp -cd <冷却时间>,单位秒
ntttcp -wu <预热时间>,单位秒
ntttcp -v 启用详细模式
ntttcp -6 启用 IPv6 模式
ntttcp -wa 使用 recv 或 WSARecv 函数时设置 WAIT_ALL 标志
ntttcp -nic <NIC IP> 使用指定的网络接口卡(仅发送方)
ntttcp -xml [文件名] 保存 XML 输出到文件,默认保存到 xml.txt
ntttcp -na <NUMA 节点编号> 将进程绑定到特定 NUMA 节点。
ntttcp -hpt 隐藏每个线程的统计信息
ntttcp -uso <消息大小> 启用 UDP 分段卸载,最大消息大小为此值
ntttcp -uro 启用 UDP 接收合并
ntttcp -uc 使用无连接的 UDP 套接字和 sendto/recvfrom
ntttcp -x <数据包数组大小> [默认: 1] 使用 TransmitPackets
ntttcp -hv 使用 AF_HYPERV。主机名必须是 VM GUID
ntttcp -nsb 无标准 I/O 缓冲区,所有输出将立即刷新
ntttcp -thr <吞吐量[KB/s]> 以每个线程指定的吞吐量发送数据(仅发送方)
ntttcp -brn <烧CPU量> 在完成 I/O 后执行的 CPU 操作量
ntttcp -lm 执行延迟测量。NTttcp 使用 QueryPerformanceCounter 来测量延迟。启用后可能会影响性能。
ntttcp -icp <最大活动线程数> [默认: -1] I/O 完成端口最大活动线程数
ntttcp -cfi 使用空闲 CPU 周期计算 CPU 使用率(Vista 或更高版本)
ntttcp -es 收集 EStats(仅显示在 XML 中,必须以管理员身份运行)
ntttcp -sam <采样时间周期>,单位秒
ntttcp -qos <QOS 优先级> 从 0 到 5 的整数,映射到流量类型
ntttcp -jm [文件名] 抖动测量:测量并输出数据包到达时间。发送方不应指定文件名,但接收方必须指定文件名
ntttcp -ps <持续时间(毫秒)> 等待缓冲区发送之间的时间(仅发送方)。间隔必须在 5 到 1000 毫秒之间
ntttcp -m <映射> 一个或多个映射 3 元组,用空格分隔(线程数量,处理器编号,接收方地址或名称)

 

posted @ 2025-04-08 04:52  suv789  阅读(390)  评论(0)    收藏  举报