V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mkdirmushroom
V2EX  ›  Apple

Mac Mini 万兆版本 SMB 协议 连接速度问题

  •  
  •   mkdirmushroom · 31 天前 · 2707 次点击
    背景:

    1 、万兆版本丐版的 m4 Mac mini ,NAS 是 12300t cpu + 64GB 内存,NAS 使用 Unraid 系统 6.12.10 ,开启 SMB 多通道,将 NetBIOS 关闭且将 WSD 打开,应该是能跑 SMB3 的协议的,Mac 和 NAS 的 MTU 都是 1500

    2 、NAS 开启了 SMB 共享,共享的文件夹的硬盘都是 nvme 的 SSD ,分别跑在 PCIe3 * 2 、PCIe4 * 2 和 PCIe4 * 4 上,SSD 都是 PCIe4 * 4 的速度

    3 、Mac 万兆电口连接在了兮克的双万兆光口的交换机上,使用 7 类网线连接,光电转换模块使用的是 apple 同方案的 Aquantia

    4 、NAS 的网卡是英特尔的 X520 ,光模块也是英特尔的

    测试:

    未进行 SMB 测试前,iperf3 测速双端都能跑满 10Gbps



    问题来了,连接到共享文件夹开始从 NAS 复制文件到 Mac 后,刚开始速度确实能达到 1GB 多/s ,但是一会就掉下来了,在 300MB/s 左右徘徊,有时候还会掉到 100 多 MB ,可以观察到图片中曲线图的趋势,硬盘的空间还有很多,缓外的速度也能跑满 10g 的。从 Mac 中往 NAS 中上传文件也差不多的情况。





    神奇的一幕来了,测试 SMB 读写后,我再执行 iperf3 测试,下载速度依然是 10gbps 左右,但是上传的速度竟然变成了 2.35gbps 左右了,太奇怪了



    求助各位大佬!
    第 1 条附言  ·  29 天前
    测试了 NFS 共享,也是一样的问题
    第 2 条附言  ·  29 天前

    我今天把mac的万兆直接连接我的unraid的nas上,还是一样,排除了交换机的问题。

    在chh上看到一个和我的情况很类似的帖子:万兆黑群晖与万兆mac mini m4进行smb文件传输平均速度只有300MB/s

    这让我不得不怀疑是万兆版本的mac的本身硬件问题了

    第 3 条附言  ·  27 天前
    确定了问题:应该是新 mac mini 自带的 256GB 硬盘对网络协议的兼容性问题,不知道是否是个例。

    我购买了雷电万兆,在我的 m1 pro 1T 硬盘上测试,smb 协议能跑满万兆;我又把它外接到新 Mac mini 上,速度还是之前一样的情况。

    新 Mac mini 外接 SSD ,使用 SMB 协议往 SSD 拷贝文件,跑满万兆!

    将拷贝到 SSD 的文件拷贝到本地硬盘,速度达到 1.6GB/s 。

    由此可见,Mac mini 的万兆网口、硬盘读写是没问题的,只是 SMB 协议在万兆环境下跑在我这个 m4 Mac mini 256GB 的硬盘上,存在掉速的问题。
    第 4 条附言  ·  4 天前
    12 月 16 日更新:根据 chh 论坛中相关帖子最新几条的回复,苹果已经在 macOS 15.2 中修复了这个问题,购买万兆的朋友可以升级成此版本。
    43 条回复    2024-11-24 01:01:45 +08:00
    234ygg
        1
    234ygg  
       31 天前   ❤️ 1
    我也有遇到,smb 会掉速到 240MB/s
    不过我的服务端是 ubuntu ,自己写的 smb 配置,最低限制 smb 3.11 版本。
    两头都是 aqc113 10GbE ,协商一直是 10Gb 非常稳定,但 smb 速率就非常玄学了,而且找不到任何规律。。

    在 Mac 上刚刚 mount 远程共享文件系统的时候,smb 肯定是可以跑满 1.2GB/s ,但是有一定概率过一会儿再去跑 smb 就会掉速到 240MB/s ,而且只要掉速它只会掉到 240 ,我也不知道 240 有什么特殊含义??
    解决办法是 ubuntu 上尝试 sudo systemctl restart smbd ,或者尝试重启 Mac ,这两个操作可能没用,也可能在多次尝试后管用个一两月又复发。

    个人猜测:偏向是 Mac 上的 smb 兼容性问题。。。
    234ygg
        2
    234ygg  
       31 天前
    忘说了,iperf 之前我也跑了,不管 smb 有没有掉速,iperf 双向都能一直稳定跑满。
    还有我的 smb 好像不会在传输的过程中突然降速,只碰到过闲置不用之后掉速,并且只能重新 mount 才能恢复速度
    zhandouji2023
        3
    zhandouji2023  
       31 天前 via iPhone
    试试 truenas 很多工作室都用。应该没这个问题
    Koma
        4
    Koma  
       31 天前
    我有类似的问题,群晖用的 aqc111 5GbE ,Mac Studio 万兆,还有个 aqc113 10Gb 接 MBP ,早期测试过,速度都正常,前几天无意发现 iperf3 只能跑到 2.25 左右,怎么搞都是,翻以前 iperf3 的日志,以前确实能跑满,现在不知道为什么就不行了。
    ZRS
        5
    ZRS  
       31 天前 via iPhone
    查链路丢包和协商掉速问题

    重点查光电棒过热
    icestraw
        6
    icestraw  
       31 天前
    散热,主要看散热。万兆的话,任何一个节点,包括交换机,散热没做好都有可能是 bottleneck 。然后是驱动。
    najunuoyan
        7
    najunuoyan  
       31 天前
    等一个结果
    xceszzy
        8
    xceszzy  
       31 天前
    同环境,cy 等结果。
    046569
        9
    046569  
       31 天前
    2.5G 同遇到过类似情况,后来修改配置解决.参考如下:

    配置: 手动(设置成自动就掉速丢包)
    速度: 2500Base-T(按照自己的设备设置,如 10G )
    双工: 全双工
    MTU: 特大(9000)

    在博客中还专门记录下.

    2.5G 网络升级指南
    https://www.046569.com/2023/12/18/2.5G-network-upgrade-guide.html
    alexcding
        10
    alexcding  
       31 天前   ❤️ 1
    Mac 的 SMB 协议拉垮

    优化速度可以看这贴
    https://www.reddit.com/r/MacOS/comments/17jgiyw/macos_slow_smb_shares/
    davidyin
        11
    davidyin  
       30 天前 via Android
    为什麽不用 NFS 呢?
    likelylee
        12
    likelylee  
       30 天前
    我记得 unraid 论坛里有说过因为 shfs 的性能拉胯,smb share 不能跑满带宽速度,需要使用 disk share ,楼主也可以试试看。
    234ygg
        13
    234ygg  
       30 天前 via iPhone
    @davidyin #11
    NFS 不支持通过用户名密码验证,必须固定客户端 ip ,通过配置文件里设置 ipv4_address/32 来限制,或者通过防火墙限制。更麻烦的是客户端和服务端的 UID GID 不同,要么开 group 访问权限,要么就得映射 uid gid ,管理起来很烦
    mkdirmushroom
        14
    mkdirmushroom  
    OP
       30 天前
    @234ygg 我也偏向兼容性问题,或者是苹果对 SMB 做了什么安全的限制
    mkdirmushroom
        15
    mkdirmushroom  
    OP
       30 天前
    @zhandouji2023 用过 truenas ,但是感觉不够方便,就换到 unraid 了
    mkdirmushroom
        16
    mkdirmushroom  
    OP
       30 天前
    @Koma 是的,很奇怪
    mkdirmushroom
        17
    mkdirmushroom  
    OP
       30 天前
    @ZRS 好的,光电模块确实有点烫手
    mkdirmushroom
        18
    mkdirmushroom  
    OP
       30 天前
    @046569 谢谢大佬,按理来说万兆 1500 应该够的,不过我还是按照大佬的建议开了巨型侦,iperf3 测速回来了,不知道会不会稳定,我再测试一会~
    mkdirmushroom
        19
    mkdirmushroom  
    OP
       30 天前
    @alexcding 谢谢大佬
    mkdirmushroom
        20
    mkdirmushroom  
    OP
       30 天前
    @davidyin NFS 不如 SMB 来得方便
    mkdirmushroom
        21
    mkdirmushroom  
    OP
       30 天前
    @likelylee 这样的嘛,我试试,谢谢大佬
    mkdirmushroom
        22
    mkdirmushroom  
    OP
       30 天前
    @234ygg 是的,我也觉得 NFS 好麻烦,就放弃了
    davidyin
        23
    davidyin  
       30 天前 via Android
    @234ygg
    @mkdirmushroom
    如果不用 windows ,又只在局域網內使用,用戶數量不超過一隻手,那麼我覺得 NFS 還是很方便的。
    mkdirmushroom
        24
    mkdirmushroom  
    OP
       30 天前
    @046569 设置手动 10G 开启巨型帧对我这个情况还是不适用,跑一会 SMB 测试,速度曲线还是和之前差不多。iperf3 的上传又变成 2.25gbps 左右了,下载不变,还是 10gbps 左右。
    mkdirmushroom
        25
    mkdirmushroom  
    OP
       30 天前
    @icestraw 好的,谢谢大佬,实在不行我换一个电模块试试
    046569
        26
    046569  
       30 天前
    @mkdirmushroom
    要开始能跑后来降速要考虑散热之类的问题,基本可以排除设置问题.
    234ygg
        27
    234ygg  
       30 天前
    @alexcding #10
    reddit 上这个我实测有效,稳定性出现了史诗级进化,特别是两个远程 smb filesystem 通过 Mac 中转拷贝的时候,再也不会时不时速度就归零了。
    好东西我就复制过来了,直接新建 /etc/nsmb.conf 配置后重新 mount 磁盘即可,最后注释掉的那个命令需要在命令行运行下,怕以后找不到了所以我放在 conf 里了哈哈。

    [default]
    # Disable SMB signing (reduces security)
    signing_required=no
    # Disable negotiation validation (reduces security)
    validate_neg_off=yes
    # Enable support for named streams
    streams=yes
    # Disable change notifications
    notify_off=yes
    # Enable soft mounts
    soft=yes
    # Disable directory caching
    dir_cache_max_cnt=0
    dir_cache_max=0
    dir_cache_off=yes
    # Disable NetBIOS and use direct hosting over TCP/IP (improves security)
    port445=no_netbios
    # Enable multi-channel support and prefer wired connections
    mc_on=yes
    mc_prefer_wired=yes
    # prevent ds_store being created, run this command in terminal
    # defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
    234ygg
        28
    234ygg  
       30 天前
    需要限制 smb 最低版本的再补一个这个哈,因为我服务端有限制最低版本所以没用上

    # Set SMB protocol version to SMB 2 or later (improves security)
    protocol_vers_map=4
    icestraw
        29
    icestraw  
       30 天前
    @mkdirmushroom 你是不是装了 SFP 光电转换模块,那种设备散热相当不行,建议换带散热的多口( 4 口以上)电口交换机。如果家里是纯光的话,干脆就买一个 mac 雷电转 SFP 的转接头,那种转接头一般散热片特别大(比如 Sonnet SOLO10G )不会掉速
    mkdirmushroom
        30
    mkdirmushroom  
    OP
       29 天前
    @234ygg 试了下,reddit 的这个方法对我也不适用,感觉很可能是我的硬件问题
    mkdirmushroom
        31
    mkdirmushroom  
    OP
       29 天前
    @icestraw 是用的光电转换模块,温度挺高的,其他设备都是光口。因为 mac 本身就有万兆电口,再买个雷电转光的有点奇怪哈哈,我准备换个加个风扇&换个电口模块试试。
    234ygg
        32
    234ygg  
       29 天前
    @mkdirmushroom
    风扇可太不优雅了
    NAS 可以用低功耗 aqc113 ,Mac 内置的我记得也是 aqc113 ,
    microtik 前一阵出了个被动散热的 4 口 10GbE 交换机 CRS304-4XG-IN ,
    再过一阵国内应该就能买到了 🤡🤡
    icestraw
        33
    icestraw  
       29 天前
    @mkdirmushroom 他那个产品形式本身太容易发热了,而且 2 口万兆光的背板散热和吞吐也是问题。其实更建议换多电口的交换机,那种要么是大散热片要么是主动散热,看你需求。
    雷电转光比较奇怪,但是...总体上看价格会便宜。多口万兆交换机普遍较贵或者较吵。
    mkdirmushroom
        34
    mkdirmushroom  
    OP
       29 天前
    @icestraw 我今天把 mac 的万兆直接连接我的 unraid 的 nas 上,还是一样,排除了交换机的问题。

    在 chh 上看到一个和我的情况很类似的帖子:[万兆黑群晖与万兆 mac mini m4 进行 smb 文件传输平均速度只有 300MB/s]( https://www.chiphell.com/forum.php?mod=viewthread&tid=2650598)

    这让我不得不怀疑是万兆版本的 mac 的本身硬件问题了
    mkdirmushroom
        35
    mkdirmushroom  
    OP
       29 天前
    @234ygg 哈哈哈买不起
    icestraw
        36
    icestraw  
       29 天前 via Android
    @mkdirmushroom mac 应该是最不可能有问题的那个,毕竟它卖得最多

    排除下 nas 的 raid mac 的磁盘掉速或者加密啥的吧
    mkdirmushroom
        37
    mkdirmushroom  
    OP
       28 天前
    @icestraw 我网上买了个雷电网卡测试下,如果雷电网卡没问题,是不是就可以说明 mac 的这个网口有问题啦?
    icestraw
        38
    icestraw  
       28 天前
    @mkdirmushroom 你这么怀疑是机器本身的问题吗?那你出 mini 不,我有一个没万兆的,和你换下?
    mkdirmushroom
        39
    mkdirmushroom  
    OP
       28 天前
    @icestraw 哈哈哈,我就是想排查出问题来~
    mkdirmushroom
        40
    mkdirmushroom  
    OP
       27 天前
    @icestraw 确定问题了,是丐版 mac 自带的硬盘的速度问题。外接了一个 ssd ,同样的环境,同样的文件,拷贝到 ssd 跑慢万兆。奇怪的是,我从 ssd 往 mac 自带的硬盘拷贝速度又能跑到 1.6GB 。
    icestraw
        41
    icestraw  
       27 天前
    @mkdirmushroom mac 自带磁盘有加密,主控是自己写的,有自己的调度逻辑。而且 ssd 速度也和可用容量正相关。最好还是读写外置盘
    mkdirmushroom
        42
    mkdirmushroom  
    OP
       26 天前
    @icestraw 请问大佬有什么好的解决办法嘛?我在我的 1T 的 MacBook pro 上跑万兆 SMB 是正常的,可能是因为丐版的硬盘容量太小了?实在不想挂一个这个外接硬盘...
    mkdirmushroom
        43
    mkdirmushroom  
    OP
       26 天前
    @icestraw 我主要纠结的点是同样的文件,通过 SSD 传输到自带硬盘速度拉满,但是通过 SMB 之类的网络协议却不太正常~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1573 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:54 · PVG 00:54 · LAX 08:54 · JFK 11:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.