Ubuntu 下的 Mac(Yosemite)Samba 4.1.6

Ubuntu 下的 Mac(Yosemite)Samba 4.1.6

我发现从运行 Yosemite 的 Mac 访问 Samba 共享 (4.1.6) 速度非常慢。显示一个包含四五个文件的文件夹可能需要几分钟(毫不夸张)。

我在一次长时间的暂停期间运行了 Wireshark,看到源源不断的“创建请求文件”/“创建响应文件”SMB2 数据包被发送,这些数据包指的是我之前打开和关闭的文件夹中每个文件的元数据文件(即“._Realname”格式的文件 - 我相信这些是资源分叉)。此文件夹中有几百个文件,因此需要很长时间才能处理所有文件,在此期间,其他文件夹的访问似乎被阻止。

我尝试过几件事:

  • 防止创建 .DS_Store 和资源分支:添加否决 ._ 文件创建没有帮助——我仍然可以看到它浏览文件(并且我知道当您尝试将文件夹从包含各种点下划线文件的地方复制到共享位置时,这可能会导致其他问题)。

  • 通过端口和 IP 地址连接:我读到通过 IP 连接并直接指定端口 139 会产生效果。这确实会改善一些情况,尽管我仍然可以看到“创建请求文件”/“创建响应文件”数据包流。

假设这是导致速度缓慢的原因,有没有办法阻止 Yosemite 尝试创建或读取这些网络共享文件?(不仅仅是 .DS_Store,还有资源分叉。)我是否遗漏了一些神奇的 Samba 或 Mac 配置选项?

答案1

很抱歉地通知您,但 MacOSX SMB/CIFS 自 Maverick 以来就变得非常缓慢。抱歉,但我已将家庭网络迁移到 NFS。Yosemite 似乎更好,但其当前的 SMB/CIFS 网络堆栈的性能并不理想。示例和投诉: http://www.macwindows.com/Does-the-final-Mavericks-update-fix-SMB-file-sharing.html http://www.nycnetworkers.com/real-world/mac-os-x-10-10-yosemite-file-sharing-smb-super-slow/

相当可笑的是,我可以使用 MacOSX 主机和该主机内的 VM(Windows 7)从完全相同的文件夹(NAS4Free 服务器)复制文件,而 VM(VMware 和 Parallels)的执行速度比主机更快 :(

答案2

您可以使用通过 afp:// 共享文件夹的 netatalk。您可以使用 /etc/passwd 中的用户(user1、user2)

;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings
server name = NAS
log file = /var/log/netatalk.log
uam list = uams_dhx.so,uams_dhx2.so
mimic model = iPad

[TimeMachine]
path = /share/TimeMachine
valid users = user1,user2
rwlist = user1,user2
time machine = yes

[User1]
path = /share/user1
valid users = user1,user2
rwlist = user1,user2

afp 在 MacOS X 网络中速度更快

Samba 速度较慢。

相关内容