macOS 上的 SMB 速度非常慢

Tob*_*mpe 6 linux debian samba mac-osx

由于我最近买了一台新的 Mac Pro(运行 Catalina 10.15.2),我使用 10 GBit 以太网将它连接到我的 Debian 10 / Proxmox 服务器。

但是,当连接到共享时,我只能获得 150-300 MB/s 的读/写性能。

这是我当前的 smb.conf:

[global]         
    netbios name = server         
    realm = MY.DOMAIN         
    security = ADS
    workgroup = MYDOMAIN

    wins server = my.domain.test

    winbind enum users = Yes
    winbind enum groups = Yes
    winbind use default domain = Yes
    winbind refresh tickets = Yes
    winbind nested groups = No


    idmap config MYDOMAIN:backend = ad
    idmap config MYDOMAIN:schema_mode = rfc2307
    idmap config MYDOMAIN:range = 10000-20000

    log file = /var/log/samba/log.%m
    log level = 1 
    printcap name = /etc/printcap
    load printers = no
    username map = etc/samba/user.map
    vfs objects = recycle acl_xattr catia fruit streams_xattr
    map acl inherit = yes
    store dos attributes = yes   
    oplocks = no

    # Enable the recycle bin
    recycle:repository = /tank/storage/.recycle/%U
    recycle:touch = Yes
    recycle:keeptree = Yes
    recycle:versions = Yes
    recycle:noversions = *.tmp,*.temp,*.o,*.obj,*.TMP,*.TEMP
    recycle:exclude = *.tmp,*.temp,*.o,*.obj,*.TMP,*.TEMP
    recycle:excludedir = /recycle,/tmp,/temp,/TMP,/TEMP

    # Apple
    fruit:aapl = yes
    fruit:encoding = native
    fruit:locking = none
    fruit:metadata = stream
    fruit:resource = file


[share1]         
    path = /tank/share1
    read only = no       
    valid users = @"MYDOMAIN\share1-Access"
[share2]
    path = /tank/share2
    read only = no
    valid users = @"MYDOMAIN\share2-Access"
[timemachine]
    path = /tank/timemachine
    read only = no
    valid users = @"MYDOMAIN\timemachine-Access"
    oplocks = no
    fruit:aapl = yes
    fruit:time machine = yes
[downloads]
    path = /tank/downloads
    read only = no
    valid users = @"MYDOMAIN\downloads-Acccess"
[cloud-backup]
    path = /tank/cloud-backup
    read only = no
    writeable = yes
    valid users = @"MYDOMAIN\cloud-backup-Access"
Run Code Online (Sandbox Code Playgroud)

waz*_*oox 2

SMB 在 Mac 上的表现非常糟糕,而且一直如此。我的建议:不要担心,只需安装 netatalk 即可;您将毫无问题地获得 1GB/s 的速度。或者使用NFS,也能达到1GB/s没有任何问题。然而 Netatalk 是最安全的选择,一些应用程序可能通过 NFS 表现奇怪。另外,Netatalk 在身份验证、文件权限等方面的行为与 Samba 一致。

我什至使用“Hackintoshes”比较了性能:运行 Windows 的同一台机器通过 SMB 达到 900MB/s,但作为 Mac 运行时达到 250MB/s;但通过 Appleshare 可以达到 1GB/s。

  • 请注意,Apple 已弃用 AFP (= netatalk),并将 SMB2 设为 OS X 10.9 中文件共享的默认协议。虽然您的建议可能会解决眼前的问题,但这绝对不是一个长期的解决方案,因为 Apple 可能会选择从未来版本的 macOS 中删除它。另请参阅 https://apple.stackexchange.com/questions/285417/is-afp-slated-to-be-removed-from-future-versions-of-macos (7认同)
  • @aaronk6 我知道这一点,但是已经过去很多年了,SMB 在 MacOS 上仍然很糟糕。不过 NFS 仍然可以工作。多年来,苹果一直忽视专业人士的需求(礼貌地说)。他们可笑的 SMB 实现是对专业人士更普遍的蔑视的一部分:Mac Pro 的崩溃、对 OpenGL 的支持等。长期的解决方案是抛弃苹果,但我试图在这里坚持这个问题。 (3认同)