简体   繁体   English

Netperf 返回零吞吐量以及每秒零 Trans.Rate

[英]Netperf return zero throughput and also zero Trans.Rate per sec

I am using Netperf tool to benchmark throughput and latency between two VM which have private IP 10.0.1.3 and 10.0.1.13.我正在使用 Netperf 工具对两个具有私有 IP 10.0.1.3 和 10.0.1.13 的 VM 之间的吞吐量和延迟进行基准测试。 VM 10.0.1.13虚拟机 10.0.1.13

eth0      Link encap:Ethernet  HWaddr 02:3d:b2:f5:33:95
          inet addr:10.0.1.13  Bcast:10.0.1.255  Mask:255.255.255.0
          inet6 addr: fe80::3d:b2ff:fef5:3395/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1
          RX packets:514888981 errors:0 dropped:0 overruns:0 frame:0
          TX packets:654103302 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1164689163796 (1.1 TB)  TX bytes:1060437004684 (1.0 TB)

VM 10.0.1.3虚拟机 10.0.1.3

eth0      Link encap:Ethernet  HWaddr 02:91:51:fa:03:08
          inet addr:10.0.1.3  Bcast:10.0.1.255  Mask:255.255.255.0
          inet6 addr: fe80::91:51ff:fefa:308/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1
          RX packets:2111769 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1936716 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:44230395762 (44.2 GB)  TX bytes:663995366 (663.9 MB)

I make VM 10.0.1.3 become server listen in port 12001 using the following command:我使用以下命令使 VM 10.0.1.3 成为侦听端口 12001 的服务器:

netserver -d -L 10.0.1.3 -p 12001 -4

After that, I run Netperf test from VM 10.0.1.13 with the following command:之后,我使用以下命令从 VM 10.0.1.13 运行 Netperf 测试:

netperf -d -H 10.0.1.3 -p 12001 -t TCP_STREAM

The connection and test running as expected but I always get value of throughput is 0:连接和测试按预期运行,但我总是得到吞吐量值为 0:

calculate_confidence: itr  1; time 10.000263; res  0.000000
                               lcpu -1.000000; rcpu -1.000000
                               lsdm -1.000000; rsdm -1.000000
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 87380  16384  16384    10.00       0.00

Similar to the TCP_RR test, I also received the 0 value in the Trans.Rate per sec.与 TCP_RR 测试类似,我也收到了每秒 Trans.Rate 中的 0 值。

calculate_confidence: itr  1; time 10.000262; res  0.000000
                               lcpu -1.000000; rcpu -1.000000
                               lsdm -1.000000; rsdm -1.000000
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate
bytes  Bytes  bytes    bytes   secs.    per sec

16384  87380  1        1       10.00       0.00
16384  87380

I see a similar topic that related to this question, but I can not find the answer in this topic: Netperf reporting zero throughput我看到与此问题相关的类似主题,但我无法在此主题中找到答案: Netperf reporting zero throughput

So, does anyone has some idea about this result.那么,有没有人对这个结果有所了解。

Thanks in advance for reading my question, I hope I can find something to debug.预先感谢您阅读我的问题,我希望我能找到要调试的东西。

A.netperf test has two "connections." A.netperf 测试有两个“连接”。 The first is the "control connection" over which information about the test setup and result is exchanged.第一个是“控制连接”,通过它交换有关测试设置和结果的信息。 For the benchmarking itself a "data connection" is used.对于基准测试本身,使用“数据连接”。 The control connection will use the control port you've specified with the global "-p" option.控制连接将使用您通过全局“-p”选项指定的控制端口。 The data connection will by default use a port number chosen by the.networking stack where the.netserver runs.默认情况下,数据连接将使用运行.netserver 的.networking 堆栈选择的端口号。

Both have to be open through firewalls for a test to be successful.两者都必须通过防火墙打开才能使测试成功。

If only the control port is open, you will see the test banners get displayed because the control connection is established.如果只打开控制端口,您将看到测试横幅显示,因为控制连接已建立。 Since the data connection cannot be established, that will report zero.由于无法建立数据连接,那将报告零。

You can specify an explicit port number for the data connection with a test-specific "-P" option.您可以使用特定于测试的“-P”选项为数据连接指定一个明确的端口号。 So, if you opened a second port number, 12002, you would start the.netserver as before, and then your.netperf command would become:因此,如果您打开第二个端口号 12002,您将像以前一样启动 .netserver,然后您的 .netperf 命令将变为:

netperf -d -H 10.0.1.3 -p 12001 -t TCP_STREAM -- -P,12002 netperf -d -H 10.0.1.3 -p 12001 -t TCP_STREAM -- -P,12002

That comma is important.那个逗号很重要。 The test-specific -P option allows specifying both the local and remote port numbers for the data connection.特定于测试的 -P 选项允许为数据连接指定本地和远程端口号。 The remote port number follows a comma.远程端口号跟在逗号之后。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM