适用于Mac OS X客户端的Windows Server 2012 R2性能(文件服务)

我正在inheritanceWindows 2012 R2服务器,特别是Mac OS X客户端遇到糟糕的SMB / CIFS性能。 服务器正在执行文件服务,并且是Active Directory域控制器(域中的两个之一)。 这是PDC模拟器。 另一个域控制器是Windows 2003 Server。

客户端环境是Windows 7和Mac OS X 10.9 Mavericks机器的混合体。 所有机器都在相同的物理和逻辑千兆局域网上。 Windows 7用户可以在预期内体验到性能。 Mac OS X 10.9小牛客户端遇到糟糕的性能,包括:缓慢的目录列表,遍历,文件读取和文件写入。 在写入性能显着较慢的情况下,读/写性能似乎存在显着的不对称性。

我们试图迫使OS X客户端使用SMBv1和CIFS,而不是更新的SMBX / SMB2实现。 这个问题依然存在于所有版本中。 我们还安装了Thursby DAVE进行testing。 上市/遍历performance略有缓解,但仍然难以接受。

我挂载了一个共享,并使用dd来读取/dev/random ,并向该共享写入1GB的文本文件。 写性能是.33 Mbps。 我在写入期间运行tcpdump来捕获通信。请原谅缺less格式 – 我似乎无法退回此块的转义:

编辑我启用了Windows Server的NFS服务器,并安装在Mac OS X客户端。 我进行了上述同样的ddtesting,结果类似。


 15:45:45.221337 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], ack 102, win 32767, options [nop,nop,TS val 1279665835 ecr 242798971], length 0 15:45:45.221546 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 1:501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500WARNING: Packet is continued in later TCP segments SMB PACKET: SMBwriteX (REQUEST) 15:45:45.221547 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 501:1001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?) 15:45:45.221547 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 1001:1501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?) 15:45:45.221547 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 1501:2001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?) 15:45:45.221548 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 2001:2501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?) 15:45:45.221548 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 2501:3001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?) 15:45:45.221549 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 3001:3501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?) 15:45:45.221549 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 3501:4001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?) 15:45:45.221550 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 4001:4501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?) 15:45:45.221550 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 4501:5001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?) 15:45:45.221551 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 5001:5501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?) 

编辑

  1. 我可以采取哪些下一步的故障排除步骤来隔离潜在的原因?
  2. 任何东西都可以从上述tcpdump派生出来吗?
  3. 是否有任何build议的networking性能调整build议来缓解所描述的性能问题?

这个链接帮了我很多忙: http : //www.techrepublic.com/blog/apple-in-the-enterprise/integrate-macs-into-a-windows-active-directory-domain/

它基本上规定您需要修改Mac上的目录服务设置。 进入系统偏好/用户和组,然后点击login选项。 单击networking帐户服务器的编辑button,然后单击“打开目录实用程序”修改设置以满足您的需要。

双击“Active Directory”并转到高级选项:

  • “启动磁盘上强制本地主目录”将“强制为所有用户在本地硬盘上创buildconfiguration文件”
  • “使用Active Directory中的UNCpath导出networking归属位置”检查并select使用的协议 – smb
  • “映射,它涉及为ADDS中使用的某些属性指定唯一的GUID来标识一个计算机对象帐户。当绑定到域时,OS X将默认随机生成这些GUID;但是,您可能希望使用由你的企业pipe理员“。

我会添加一个评论,但我不能。 我没有任何想法让你尝试,但是我想告诉我的是,我的一位同事最近已经为几乎所有的客户端OSX设置了一个新的OSX服务器。 他也有类似性能的文件共享一些奇怪的问题,并且客户端不能从OSX服务器的networking驱动器打开某些文件。 我们最终购买了一份来自苹果的支持合同,帮助他,他们告诉他让用户下载文件,他们想在本地工作,在他们的Mac上完成他们的工作,然后复制一切。

看到这个让我觉得新的OSX在访问networking共享的方式上有点问题。

设置这两个registry项帮助我极大地提高了Windows Server 2012和Windows 8.1上Mac的Windows共享性能

win_share_tweak.reg

 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters] "Smb2CreditsMin"=dword:00000300 "Smb2CreditsMax"=dword:00004000 

尝试在服务器上禁用SMB 3.0,看看性能是否提高。 禁用SMB 3.0并不是一个好主意,特别是如果服务器是作为Hyper-V虚拟机或SQL数据存储的存储点运行的,但是如果您以相当基本的方式使用它,则可能会忽略它。

https://support.microsoft.com/en-us/kb/2696547

我见过的一些原因是:[按顺序]

检查您的交换机上的生成树设置。 生成树设置可以影响所见和Mac上的连接质量。

MTU大小

巨型数据包设置

CPU卸载

禁用未使用的协议我已经看到很多使用协议的networking未使用。

菊花链错误地违反以太网标准的太多交换机。

广播风暴抑制

接线违规:
卷绕多余的以太网线 – 创build磁感应不正确终止RJ45连接器长度不足,以提供足够的欧姆电阻。 在大功率导pipe周围缠绕导线

我不知道它是否仍然相关,但是我也遇到了同样的问题,我通过编辑mac客户端上的/etc/sysctl.conf文件解决了这个问题。

我发现这些设置在我的情况下工作,但也许他们可能需要调整一下你的情况。

 net.inet.tcp.win_scale_factor=8 net.inet.tcp.autorcvbufmax=16777216 net.inet.tcp.autosndbufmax=16777216 

不是广告 – 请查看Acronis Access Connect试用版(以前称为Acronis ExtremeZ-IP)。 从我的研究中,微软经常改变它的中小企业的实施,即使你得到它在一个合理的速度工作,它可能会在以后的版本“打破”。 Acronis会为您节省大笔费用。

http://www.acronis.com/en-us/mobility/mac-windows-compatibility/

我已经用了几个客户几年,这是相当稳固。

注意 :根据我的经验,通过使用此服务,实际的networking吞吐量显着增加。 该产品弥补了SMB实施中的差异。 我有这个确切的问题,直到我尝试这个 – 它的工作。 正如我所说的,即使你使用它,也可能会因为SAMBA实现的后续更新而中断。