名称:
  nttcp 新的tcp测试工具,适用于Linux系统。
  语法格式:
  nttcp [ local options ] partner-host [ partner-host ] ... [ remote options ]
  描述:
  nttcp用来测量TCP,UDP和多播UDP连接的传输速率。使用 nttcp时,需要两台电脑,一台本地主机,一台服务器。在服务器端,只需要简单的运行nttcp -i。在本地主机上,将partner-host设置为服务起的IP地址。两台电脑会自动建立连接进行传输。在默认情况下,客户端会向服务器发送2048个buffer,每个数据包大小为4KB(总共8M字节)。发送端和接收端的性能情况都会反馈到本地主机,我们可以通过命令行调整几乎每一个参数,甚至如何显示结果。
  参数选项:
  -r
  定义传输接收方向,本地主机为接收端,数据由服务器端发往本地主机。
  -t
  定义传输发送方向,本地主机为发送端,数据由本地主机发往服务器端,这是默认的选项。
  -T
  打印标题线。
  -u
  使用UDP协议代替TCP协议(默认为TCP协议)。
  -g
  在两个数据包之间的间隔毫秒数。这种延时是通过select和gettimeofday两个系统函数实现的。他们的值具有误导性,大多数主机无法实现的延时量。代码实现中,将尽量的保证准确的时延。对于TCP连接来说,这个时延只是在调用系统函数write之间的时间间隔,并不是物理设备真正输出之间的时延。
  -v
  给出更多更详细的输出内容,仅用于调试目的。
  -D
  在发送端设置为TCP_NODELAY选项,发送端将不缓存任何wirte请求。(存疑)
  -f format string
  格式化输出的内容,具体见OUTPUT。
  -n number of buffer
  每次发送的buffer数量,默认为2048个。
  -l length of a buffer
  每一个buffer的大小(说的是每一个数据包大小),默认为4096KB。
  -x fixed length of data
  发送数据包的总长度,如果接下来定义了-n或者-l ,将会自动计算剩下来的那个值,但是要保证buffers*length = fixed data length。
  -w
  定义接收方与发送放的buffer size,这个通常是由系统决定的,通常为16KB。
  -c
  如果这一项被启用,接收端将会比较接收端的字节与发送端的字节。至多前100个不同将会被报告出来。
  -s
  如果使用UDP传输,将会强制启动一个stream pattern.
  -S seed string
  产生一个字符串来传输,使用-S将会自动启动-c。
  -p port number
  设置对方机器的端口,默认为5037。
  -i
  作为接收端监听连接请求。
  -R number of getpid() calls
  这个选项将不会传输任何的数据,计算每秒调用getpid()的次数,通常作为衡量计算速度和调用端口速度的测量方法。
  -m
  使用多播IP,将会强制使用-t和-u参数。
  输出:
  输出结果由两行字母组成(如果使用多播将会由多行结果)。第一行结果是本地主机的测量结果,第二行结果是对端主机的测量结果。第一行的第一个字母为“l”(local),而第二行的第一个字母为“r”(remote);如果使用了“-T”参数,会多一行标题行。默认的输出格式如下所示:

  标有CPU计时(CPU s)和频率(CPU-C/s)的值表示使用系统和用户的总时间。Real时间和频率值表示从传输开始到结束的总时间。还有可能由另一种格式输出,详见原文档。
  n prints the buffer count. Integer value.
  c prints the number of calls. Integer value.
  rt prints the real time in s. Float value.
  rbr prints the real bit rate in MBit/s. Float value.
  rcr prints the real call rate in calls/s. Float value.
  ct prints the cpu time in s. Float value.
  cbr prints the cpu bit rate in MBit/s. Float value.
  ccr prints the cpu call rate in calls/s. Float value.
  The default format is produced with the following format string:
  "%9b%8.2rt%8.2ct%12.4rbr%12.4cbr%8c%10.2rcr%10.2ccr"