PCATTCP学习笔记

PCATTCP学习笔记
PCATTCP学习笔记

PACATTCP学习笔记

一.PACATTCP是什么(以下内容来自PACATTCP官方网站英文翻译)

TTCP,即Test TCP,是命令行下执行的带宽测试软件,用于测试两个系统间TCP和UDP的性能表现。

二.PACATTCP运行环境

PCATTCP是Win32命令行程序,必须运行于命令行或者是批处理文件,现在也有了UNIX和LINUX下的运行程序。PCATTCP运行需要两个Windows平台,或者一个Windows平台与一个Linux平台,其中一个作为接收端,一个作为发送端。

三.PACATTCP使用

1.开启接收端

打开命令行,切换到PACATTCP所在的目录,执行:pcattcp –r ,即可启动PCATTCP接收端。

2.开启发送端

打开命令行,切换到PACATTCP所在的目录,执行:pcattcp –t 接收端IP ,即可启动与接收端的带宽测试连接。

四.应用举例

1.IPv4环境下应用

接收端:

C:\Users\xiaoming>PCATTCP.exe -r -f M -c

PCAUSA Test TCP Utility V2.01.01.14 (IPv4/IPv6)

IP Version : IPv4

Started TCP Receive Test 0...

TCP Receive Test

Local Host : xiaoming-PC

**************

Listening...: On TCPv4 0.0.0.0:5001

Accept : TCPv4 0.0.0.0:5001 <- 172.22.101.3:54974

Buffer Size : 8192; Alignment: 16384/0

Receive Mode: Sinking (discarding) Data

Statistics : TCPv4 0.0.0.0:5001 <- 172.22.101.3:54974

4274257920 bytes in 80.152 real seconds = 50.86 MB/sec +++

numCalls: 525749; msec/call: 0.156; calls/sec: 6559.372

参数解释:

-r 启动接收端

-f M 以M为单位显示带宽

-c 持续接受,直到手动终止(CTRL + C)

文中标红位置为带宽测试结果

发送端:

C:\Users\xiaoming>PCATTCP.exe -t -f M -c 172.22.101.3

PCAUSA Test TCP Utility V2.01.01.14 (IPv4/IPv6)

IP Version : IPv4

Started TCP Transmit Test 0...

TCP Transmit Test

Transmit : TCPv4 0.0.0.0 -> 172.22.101.3:5001

Buffer Size : 8192; Alignment: 16384/0

TCP_NODELAY : DISABLED (0)

Connect : Connected to 172.22.101.3:5001

Send Mode : Sending Pattern CONTINUOUS

Statistics : TCPv4 0.0.0.0 -> 172.22.101.3:5001

16777216 bytes in 0.258 real seconds = 62.06 MB/sec +++

numCalls: 2048; msec/call: 0.129; calls/sec: 7943.748

参数解释:

-t 开启发送端

-f M 以M为单位显示带宽

-c 持续发送数据,知道手动终止(CTRL + C)

文中标红位置为带宽测试结果

五.PCATTCP在Linux下的应用

相比与在Windows下的应用,PACATTCP在Linux下功能就缩减了很多,参数也少了很多。如PCATTCP在Linux下不支持IPv6协议,不支持连续发送等。

PCATTCP在Linux下启动,也同Windows下启动差不多,首先在接收端启动程序:

[root@RedHat-XM ~]# ttcp -r

ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp

ttcp-r: socket

PCATTCP在Linux下的运行程序名为ttcp,其他参数与Windows下基本相同。

在发送端启动程序:

[root@RedHat-XM pcattcp]# ttcp -t -f M 172.22.101.8

ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 172.22.101.8

ttcp-t: socket

ttcp-t: nodelay

ttcp-t: connect

ttcp-t: 16777216 bytes in 0.04 real seconds = 374.31 MB/sec +++

ttcp-t: 2048 I/O calls, msec/call = 0.02, calls/sec = 47912.04

ttcp-t: 0.0user 0.0sys 0:00real 75% 0i+0d 0maxrss 0+3pf 0+3csw

由以上可以看出,带宽为374.31 MB/sec(本机)。

PCATTCP在Linux下不能持续发送,不能对设备造成持续压力。在实际应用中,可以在Linux 下编写shell脚本,来实现对于接收端的持续压力。

#!/bin/sh

while [ 1 ]

do

ttcp -t -f M 172.22.101.3

done

六.PCATTCP所有参数解释

Windows下:

C:\Users\xiaoming>PCATTCP.exe -h

PCAUSA Test TCP Utility V2.01.01.14 (IPv4/IPv6)

Usage: pcattcp -t [-4|-6] [-options] host [ < in ]

pcattcp -r [-4|-6] [-options > out]

Common options:

-4 use IPv4 (default)(使用IPv4协议)

-6 use IPv6(使用IPv6协议)

-l ## length of bufs read from or written to network (default 8192)(缓冲大小,默认8192)-u use UDP instead of TCP(使用UDP协议)

-p ## port number to send to or listen at (default 5001)(发送或监听的端口,默认5001 Can specify multiple sequential ports two ways:(可以以两种形式指定多个端口)

-p #first-#last

-p #first+#additional

-s toggle sinkmode (enabled by default)

sinkmode enabled:

-t: source (transmit) fabricated pattern(发送端)

-r: sink (discard) all received data(接收端)

sinkmode disabled:

-t: reads data to be transmitted from stdin

-r: writes received data to stdout

-A align the start of buffers to this modulus (default 16384)(指定缓冲区的开始系数)-O start buffers at this offset from the modulus (default 0) (指定缓冲区的偏移系数)-v verbose: print more statistics(显示更多统计数据)

-d set SO_DEBUG socket option(开启debug模式)

-b ## set socket buffer size (if supported)(设置socket缓冲区大小)

-f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga(设置带宽的显示格式,K,M或G)

-c -t: send continuously(发送端持续发送)

-r: accept multiple connections sequentially(接收端持续接受)-a bind to local host interface IP address (绑定本地网卡地址)

Options specific to -t:(以下参数只针对于发送端)

-n ## number of source bufs written to network (default 2048)(向网络写入源缓冲内容的序号)

-D don't buffer TCP writes (sets TCP_NODELAY socket option)(不缓冲TCP写入内容)-w ## milliseconds of delay before each write (default 0)(每次写入前的延时)

-R ## desired transmit data rate in bytes/second(以bytes/second显示速率)

Options specific to -r:(以下参数只针对于接收端)

-M concurrent TCP/UDP multithreaded receiver(开启TCP/UDP的并发接收)

-B for -s, only output full blocks as specified by -l (for TAR)

-T "touch": access each byte as it's read

Linux下参数比Windows下少,已有的参数可以参照Windows下参数解释表。

相关主题
相关文档
最新文档