首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用netcat和CIFS/SMB传输速率测量网络吞吐量

使用netcat和CIFS/SMB传输速率测量网络吞吐量
EN

Server Fault用户
提问于 2010-12-10 19:10:14
回答 2查看 7.2K关注 0票数 2

我一直试图测量和基准我们的局域网的吞吐量作为一个更大的项目的一部分。我们的局域网是由cat5e和HP ProCurve 1800-24G交换机构成的,支持10/100/1000 Mbps的自动传感。物理拓扑相当简单。我们的服务器机架中有一个ProCurve,所有服务器都连接到它(我不正确地将它称为“骨干”交换机)。所有客户端计算机连接的三个交换机中的每一个,然后使用每个交换机的单独电缆/端口连接到“主干”交换机。这基本上是一个“枢纽”设计。我正在测试的工作站是远离“主干”开关的两个开关,其中有一个旧的IDE驱动器。我用HDTune测量了大约60 MB/s的驱动速度。我们的服务器是一个HP DL380 G5,它的RAID6阵列只有72 MB的单端口15K SAS驱动器和两个3.0Ghz的英特尔Xeon双核心CPU。

我已经阅读了一些关于这个主题的其他问题(这里这里)以及Tom的硬件文章,因此我知道我的实际吞吐量将远远低于1 1Gbit网络的理论最大带宽(例如,124 MB/s传输速率)。然而,真正让我困惑的是使用netcat获得的数字与使用CIFS/SMB进行文件传输的时间之间的差异。

我正在使用netcat的cygwin版本,如下所示:

在“服务器”:

nc -vv -l -p 1234 > /dev/null

关于“客户”:

time yes|nc -vv -n 192.168.1.10 1234

为了使用CIFS/SMB测试文件传输速率,我只需使用cygwin执行如下操作:

time cp local_file.iso /remote_dir/

现在,除非我已经完成了我的数学运算(除以字节数乘以秒,获取每秒的字节并从那里进行转换),用netcat进行完全错误的传输是非常慢的。喜欢4-8MB/S慢。另一方面,使用120 MB的.iso作为传输文件,我计算出CIFS/SMB服务器的吞吐量约为30-35 MB/s,比我预期的要慢得多,但与我使用netcat的数据完全不同。

我应该指出,我实际上正在使用两台不同的服务器进行netcat与CIFS/SMB的测试。我使用的是用于netcat的XenServer主机,以及用于CIFS的Windows2003Server(我没有在Windows上安装netcat的选项)。它们在硬件方面是相同的。现在我知道这可能有点像苹果和橘子的比较,但是如果我将CIFS传输到XenServer主机,我得到的传输速率正好在30 MB/s左右,这似乎与我在Windows2003Server上得到的结果一致。

我想我真的有两个问题: 1)为什么netcat和CIFS/SMB共享文件传输时间之间的不同数字?2)为什么我的实际吞吐量这么低?我知道我的磁盘只能如此快地将这么多的数据传输到NIC,但我肯定会看到大约60 MB/s的东西吗?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2010-12-21 00:14:56

这里除了非常小心您使用什么工具来测量实际吞吐量之外,我没有一个确切的答案。我使用过netcat (包括cygwin和GNU版本)、时间CIFS/SMB传输、时间SCP传输、iperf和NetCPS在两个方向的多个主机上,当然,我得到了非常不同的答案。然而,我发现,仔细和有条不紊地使用相同的工具,我会得到相同的数字在不同的主机。

另一件真正值得一提的是,很多这些工具只测试网络吞吐量。它们的有效负载实际上是从内存直接发送到网络的(我相信iperf和NetCPS都这样做)。虽然这对于帮助测试网络性能和定位基础设施问题很有用,但它并不能很好地了解客户端节点的性能。在我的例子中,我可以使用诸如定时文件传输之类的东西从我的工作站获得大约25-30MB/秒,但是iperf会报告我可以获得45-50MB/秒。

所以这就把我所知道的关于我问题前半部分的一切都总结出来了.在测量网络带宽时,不同的工具会给出完全不同的结果。

至于我问题的第二部分,我真的不知道。对于终端节点来说,25到30 MB/秒的传输速率看起来很可怕,直到您意识到它们只能以其驱动器和总线的速度将数据推送到网络上(而我的工作站是sloowww)。我是否希望我能够使用我理论带宽的25%以上?是的,但据我所读到的,我的结果并不是完全不寻常的。我发现服务器的速度当然要快得多(60-70MB/秒),正好在它们测量到的最大磁盘速度附近(HDTune报告它大约是1GB/秒.似乎慢单通道15K RPM RAID-6 SAS驱动器?)。奇怪的是,有些服务器似乎要慢得多,并且存在着不对称的传输速率,这取决于哪台机器充当客户端,哪台机器充当服务器。例如:我将从一个方向获得45 in /秒,在另一个方向获得12 in /秒。我怀疑这些服务器位于单独的子网可能是原因,但我还没有证实这一点。我甚至测试了NIC,开关端口和电缆,试图找出故障。我认为失败是在网络地形设计,可能是路由器,但我不能确定,因为没有标杆之前,我来到这里。长话短说..。某些事情比网络的其他部分慢很多。确实很奇怪。

物理网络地形:

代码语言:javascript
运行
复制
       ----- 146.63.205.65 ----|--------|
       |                       | "Main" |---- [Client Switch # 1]
 <--[NetWare 6.5]              | Switch |---- [Client Switch # 2]
       |                       |        |---- [Client Switch # 3]
       ----- 192.168.61.1 -----|--------| 
                                 |
                                 |
                             "Servers"
票数 1
EN

Server Fault用户

发布于 2010-12-10 20:57:00

看看xen上的读取有多快--使用类似hdparam之类的东西,或者只是做一个本地副本,这将给出磁盘性能的一个概念。

要传输文件,尝试像dd这样的不同工具是很奇怪的,为什么nc速度慢--例如,对我来说非常快

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/211410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档