我们遇到了使用Windows 2008 CIFS客户端的性能问题。 我们有一个FreeNAS服务器,在ZFS写入上提供1.3GB / s。 我们有10Gbnetworking连接NAS服务器和CIFS客户端。 使用两台Linux CIFS客户端,我们可以达到1.2GB / s左右。 但是Windows 2008客户端只能给我们400MB / s。
这是Windows 2008客户端可以提供的最好的,还是我们有一个configuration不好的Windows客户端?
非常感激。
您可能想尝试在服务器端启用smb2支持。
max protocol = SMB2在你的smb.conf的[global]部分
需要考虑的是MTU尺寸或称为巨型帧 。 全双工和TOE是另外两个要考虑的事情。
我正在运行FreeNAS 8.3.1,将iSCSI磁盘导出回运行虚拟机的Linux机器,这些虚拟机的I / O密集程度非常高。 将帧大小设置为大于默认值1500会对性能和吞吐量产生巨大影响。 这必须在客户端和服务器端都设置,否则不会生效。
FreeNAS有一些很好的图表,可以确定系统信息选项卡上的瓶颈位置。
哦,一个免费的头,改变MTU大小是部分艺术和部分科学。 FreeBSD,Linux和Windows中的驱动程序在允许的大小上是不可靠的。 您可能需要深入查看驱动程序文档或进行实验以获取可接受的尺寸。 而且,最低值是整个path的默认值。
在linux或freebsd / freenas上:
ifconfig -a | grep -i mtu ifconfig eth0 mtu 9122 up ifconfig em0 mtu 9122
在Windows上,右键单击设备pipe理器中的NIC,然后查看NIC驱动程序的属性。 MTU或巨型帧或帧大小可能是您的驱动程序的设置的名称。 默认值通常是1500。
从Linuxtesting路由MTU值:
route get <ipaddr>
一些笔记将提到硬连线全双工,但任何现代交换机将迅速处理这个问题,而不是一个问题。 我在现代硬件上看不到双工的问题。
对于我的iSCSI使用情况,导出卷的块大小是重要的更大,我将其设置为4096的虚拟设备。 请注意底层导出卷的块大小,因为这些也会影响性能。 这可能不会影响您的SMB出口。
最后一个问题,如果您的10Gb NIC TOE (TCP卸载已启用)启用或硬件加速?
TOE是一张graphics卡的GPU等价物,以及老式硬盘控制器使用的DMA(直接内存存取)等。 它允许将TCP / IP堆栈的工作卸载到NIC,而不是通过主板前端总线和CPU瓶颈运行,以便以这种速度处理数据。
为了使你所要求的工作,你将需要你的10Gbps卡在操作系统和驱动程序中启用TOE(硬件加速)。 如果您已经启用了TOE,则忽略这部分响应。