千兆以太网网络上Windows文件共享(SMB)的典型性能是什么?


10

我最近使用Samba服务器和Windows Vista客户端在千兆以太网网络(我没有使用巨型帧)上设置Windows文件共享。我已经完成了一些文件复制,但是我看到的最大吞吐量是20MB / s(兆字节,不是兆位),大约是网络理论上最大125MB / s的15%。该服务器具有一个RAID阵列,可以管理大约75MB / s(瓶颈是PCI总线),而客户端可以在磁盘到磁盘副本中管理大约40MB / s。

我应该补充一点,当时网络上没有其他流量。

我知道我永远都不会达到理论上的最高水平,但我不认为这会很糟糕。

千兆以太网网络上Windows文件共享(SMB)的典型性能是什么?

优点:我可以调整什么(除了使用巨型帧外)以使其更快?


2
我已经解决了网络上的性能问题:它们是服务器上的板载NIC较差,客户端上的旧NIC驱动程序的结合。我现在看到我测试的一些大容量副本在50MB / s和80MB / s之间。但是,传输似乎确实会不时地暂停几秒钟。
Kaypro II

1
我的网络性能不佳的另一个原因是,仅运行Virtual PC(不必运行任何映像),似乎会使我的Vista计算机上的NIC速度降低到100Mbps。
Kaypro II

Answers:


8

网卡,交换机和电缆的质量都会产生影响。可能值得搜索您正在使用的NIC和交换机的评论,以查看其他人是否报告它们的性能不佳。我觉得内置板载NIC的Gbit传输性能更差,尽管以我的经验来看,这似乎对我的环境没有太大的影响。

作为参考,我刚刚在我们的办公室中安装了一个新的Gbit交换机(替换了旧的100Mbit交换机),并且在我测试的每种计算机组合之间,大型SMB传输的运行速度接近(但小于)30Mbyte / sec。我刚刚在两台计算机之间对netcat进行了快速测试,并得到了相似的结果,所以我认为SMB并不是瓶颈。我刚刚测试过的两台机器之间确实有两个开关,这可能会产生影响,但是鉴于将SMB转移到同一开关上的机器的距离有多近,我认为这种影响很小。

我在Gbit网络上看到的最佳传输速率以最快的速度稍低于50Mbyte / sec。这是在将驱动器映像从一台计算机传输到另一台计算机上的文件时(目的是转换为VMWare虚拟驱动器。在这种情况下,两台计算机是通过短跨接电缆而不是通过交换机连接的。)其中一台机器是我刚刚测试过的机器,从中获得了约29Mbyte / sec的速度-在我看来,主要瓶颈的罪魁祸首可能是大楼里已有8年历史的布线在我的小型家庭网络上进行的快速(同样是不科学的)测试发现,传输速率更像是35Mbyte / sec,将文件从Samba共享复制到Windows机顶盒,以及25Mbyte / sec(从另一个方向来看)

巨型帧将对批量传输产生影响,因此,如果所有套件均正确支持它们,建议您尝试一下。

简而言之:以我的轶事经验来看,您的20Mb / sec速度有点慢,但并不是很大。我所有的Windows和Samba安装都几乎完全未调整,因此我怀疑您的硬件/接线是我所看到的与所看到的之间的差异。

编辑

当然,距此答案已经过去五年了,硬件和软件已经发展了。即使使用便宜的工具包,我也经常在具有Gbit网络的计算机上看到90+ MiB / sec的传输速度。我的家庭媒体/备份/其他服务器的传输容量似乎限制在60多一点,但这似乎是桑巴舞在盒子硬件的单个核心上受CPU限制。


布线对我来说不是问题,网络的千兆位部分完全是CAT6。我无法使用巨型帧,因为我的(家庭)网络是异构的-我有wifi和一个100Mbit的网段-而且据我了解,巨型帧仅适用于千兆位。不过,如果我可以将巨型帧限制为某些主机对,那可能会起作用。这是关于硬件的一个好点。我所有的都是消费级的。我必须调查一下。我的另一个想法是内置NIC的连接方式可能是一个问题。如果有人在PCI总线上,那可能是一个因素。
Kaypro II,

1
您不是说“您的20Mb / s有点慢,但不是很大”(吃完了)吗?否则+1,写得很好。
奎克吉x德09年

好赶上〜嘎嘎,适当编辑。
David Spillett

arrrgh。可悲的是,我无法编辑评论,否则我将停止吃完...
庸医吉德09年

4

啊...这对服务器人员来说很重要的是了解其内幕。由于已经两岁了,我认为他已经解决了。但是,对于后代或有类似问题的任何人,他可能会遇到的是

(TCP窗口大小* 8位/ RTT以毫秒为单位)=最大TCP吞吐量以bps为单位

尽管您可能具有千兆位网络,但单个TCP流将不可能达到如此之高。

这是一个简单的表,假设您在Vista中具有默认的65535Byte TCP窗口大小

RTT 10毫秒=> TCP吞吐量= 52428000 bps = 52Mbps

RTT 20毫秒=> TCP吞吐量= 26214000 bps = 26Mbps

RTT 50毫秒=> TCP吞吐量= 10485600 bps = 10Mbps

RTT 100毫秒=> TCP吞吐量= 5242800 bps = 5.2Mbps

RTT 150毫秒=> TCP吞吐量= 3495200 bps = 4.3Mbps

RTT 200毫秒=> TCP吞吐量= 2621400 bps = 2.5Mbps

RTT 300毫秒=> TCP吞吐量= 1747600 bps = 1.7Mbps

RTT 500毫秒=> TCP吞吐量= 1048560 bps = 1Mbps

在20Mb / s或160Mbit / s的速度下,往返延迟可能约为3毫秒。加快速度的唯一另一种方法是使用TCP优化器,该优化器可以在网络上进行重复数据删除或将片段拼接在一起形成更大的数据包。通过LAN可能不会为您带来很多好处。如果您使用诸如Linksys或Netgear之类的SoHo设备,则可能由于交换机上缺少共享缓冲区而导致延迟。如果是更大的交换机(例如24端口),请尝试确保两个设备连接到同一ASIC。这将有助于序列化延迟,但幅度不大。如果您可以将其降低到2ms,则可以提高到大约31-32Mbytes / sec。如果它们位于两个不同的交换机上,那么没有新硬件您将无能为力。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.