树莓派4B做服务器,局域网速度的瓶颈不在树莓派CPU,而在网卡、SD卡、网络协议和配置文件这四个环节,多数情况下千兆跑不满是供电或SD卡I/O拖了后腿。
很多朋友把树莓派4B买回来当下载机、NAS、Web服务器,折腾半天发现局域网拷贝速度只有20MB/s到40MB/s,而理论千兆应该跑到112MB/s左右,其实树莓派4B的千兆网口是原生独立的,BCM2711芯片内部走PCIe总线,硬件底子不差,真正让你速度上不去的是软件和周边配件。
树莓派4B的硬件底子:网口、USB、SD卡的三角关系
树莓派4B的千兆网口和USB 3.0控制器共用一颗PCIe通道,理论带宽足够,但实际表现取决于你怎么分配负载。
网口规格:原生千兆,不是USB转接
树莓派4B之前的三代产品用的是USB 2.0转百兆网口,速度上限被卡死在11MB/s左右,4B换成了原生千兆,RX和TX都能跑满千兆线速,用iperf3实测,两个树莓派4B直连,TCP窗口调大后能到940Mbps左右,这个数字接近网卡驱动的极限了。SD卡是第一个瓶颈
如果你用普通Class 10 U1卡,顺序读取也就30MB/s到40MB/s,写入更低,树莓派4B支持从USB 3.0 SSD启动系统,换了SSD之后局域网SMB传输能稳定在100MB/s以上,这是最立竿见影的升级。供电决定网口稳定性
树莓派4B官方建议5V/3A供电,但很多朋友用手机充电头凑合,供电不足时网口会降速、丢包,表现就是拷贝大文件时速度从100MB/s掉到20MB/s,然后反复横跳,用带电压电流显示的电源,观察5.1V/2.5A以上就基本没问题。系统层配置:这些参数不调,千兆白瞎
拿到树莓派后先别急着插网线,有几个关键配置影响局域网速度。
开启SSD启动并迁移系统到USB
SD卡做系统盘只适合跑轻量服务,文件传输场景必须换SSD,操作路径:先用树莓派官方Imager把系统烧到SSD,插上U盘开机,在终端执行`sudo raspi-config`,进入Boot Order选择USB Boot,重启后系统就完全跑在SSD上了。调整Samba配置文件
如果按默认Samba配置,写入性能会很难看,编辑`/etc/samba/smb.conf`,在`[global]`段加这几行:socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072 read raw = yes write raw = yes server min protocol = SMB2 strict locking = no
然后重启Samba服务sudo systemctl restart smbd,注意strict locking = no仅限单机场景,多人并发写入就不要开。
关闭Wi-Fi节省总线带宽
树莓派4B的Wi-Fi芯片和蓝牙共用SDIO接口,如果插了网线还开着Wi-Fi,总线会分一部分带宽给无线模块,在`/boot/config.txt`里加一行`dtoverlay=disable-wifi`,重启后纯有线模式跑,速度能稳定提升5%到10%。CPU频率锁定在高档
树莓派4B默认调速器是ondemand,低负载时CPU降频到600MHz,处理网络中断时延迟会变高,安装`cpufrequtils`,设置`sudo cpufreq-set -g performance`,把频率锁在1.5GHz,注意散热要跟上,加个小铝散热片。实测:局域网速度能跑多少
按上面步骤配置完后,用三大工具实测速度,数据比感觉靠谱。
iperf3测纯网络带宽
服务器端执行`iperf3 -s`,客户端执行`iperf3 -c 192.168.1.100 -P 4 -t 30`,数字跑到900Mbps以上说明网卡和网线没问题,如果只有500Mbps,检查网线是不是超五类以上,或者中间交换机端口有没有降速。dd命令测磁盘写入
在树莓派上执行`dd if=/dev/zero of=test bs=1M count=1024 conv=fdatasync`,测出磁盘裸写速度,SSD应该跑到200MB/s以上,SD卡多半在30MB/s左右,这个数字决定了SMB写入的上限。SMB大文件拷贝
从电脑复制一个5GB的MKV文件到树莓派共享目录,Windows资源管理器看不到实时速度,用FastCopy或者ZeroTerminal这类工具能显示曲线,正常情况下速度在110MB/s左右波动,开头一两秒可能冲到满速,随后稳定下来。瓶颈排查清单:速度上不去的七宗罪
如果实测数据不理想,按顺序排查以下环节,多数问题出在不起眼的地方。
- 网线:CAT5e起步,水晶头触点氧化也会导致降速,换一根成品六类线试试
- 交换机/路由器端口:很多家用路由器的LAN口并非全是千兆,插到百兆口上速度直接被砍到11MB/s
- 电脑端硬盘:机械硬盘写入140MB/s封顶,如果同时还在下载任务,读写争抢会让速度跌到一半
- SMB协议版本:Windows 10默认SMB 3.0,树莓派Samba要开SMB2以上,老版本SMB1速度极慢且不安全
- 防火墙:ufw开启状态会限制吞吐,做内网测试可以临时`sudo ufw disable`
- 散热:树莓派4B温度超过85℃会触发CPU降频,网络吞吐跟着掉,加装风扇后速冻下来就恢复
- 供电:电压低于4.8V时网卡会进入省电模式,速率协商可能降级到100Mbps

进阶:把树莓派4B性能榨干的思路
很多人测试完发现瓶颈在磁盘I/O,这时候有两条路可以走。
挂载NFS替代Samba
NFS是Linux原生协议,CPU占用比Samba低,在树莓派做纯Linux服务器场景下跑得更快,在`/etc/exports`里声明共享目录,电脑端Win10开启NFS客户端后挂载,传输速度能比Samba再稳一点点,但NFS在Windows上的中文文件名和权限控制不如Samba,按需取舍。组RAID或用iSCSI外置存储
树莓派4B只能接一个SSD做系统+数据混用,数据量大了接USB硬盘盒,但注意USB外置硬盘供电要独立适配器,不要走树莓派USB口取电,也可以挂载一台群晖NAS的iSCSI LUN,把树莓派当存储网关,不过这就脱离单机范围了。网络负载均衡
树莓派4B只有一个千兆网口,想突破千兆只能用USB 3.0转2.5G网卡,市场上RTL8156芯片的2.5G网卡在树莓派上支持比较完善,驱动已并入内核,实测SMB拷贝能跑到190MB/s左右,但CPU占用率会飙到80%以上,树莓派4B处理大容量数据包时性能已接近上限。树莓派4B和云服务器的取舍
说句实在话,树莓派4B做局域网服务器成本并不低,全套算下来:4GB内存版300元、电源散热壳100元、SSD+硬盘盒200元、六类网线50元,起步投入650元,它的优势是物理可控、数据不出门、24小时功耗不到5W,适合个人玩家和开发调试。
但如果要跑需要稳定公网IP、固定带宽、高可用保障的业务,家用宽带的动态IP和运营商限制会让你头大。简米科技从2003年就开始做IDC服务,23年行业沉淀,持有增值电信业务经营许可证(豫B2-20231089),自家运营机房,备案号豫ICP备2023018319号,在内网穿透、端口映射这块有成熟的解决方案,树莓派做边缘节点、云服务器做主节点的混合架构,是比较靠谱的玩法。
另一个思路是直接把服务搬到云端。酷番云

所以在方案选择上,树莓派适合做边缘计算、局域网共享、开发测试;云端适合做对外服务、数据备份、弹性扩展,两者不冲突,但别只用树莓派硬扛所有场景。
Q&A:树莓派4B做服务器局域网速度常见问题
树莓派4B局域网速度只有10MB/s是什么原因?
这种现象九成出现在协议协商上,用`ethtool eth0`查网口实际速率,如果显示100Mb/s,说明网线或对端设备干扰了千兆协商,换网线、插交换机千兆口,或者强制指定速率`sudo ethtool -s eth0 speed 1000 duplex full`,另外检查树莓派电源,低于4.8V供电会让网卡自动降档。树莓派4B跑Samba写入比读取慢很多正常吗?
这取决于存储介质,SD卡写入本身只有30MB/s,读取有40MB/s,差距在预期范围,如果是SSD,写入慢就要看Samba配置里有没有开`write raw = yes`,以及文件系统挂载参数是否加了`noatime`,还有一种情况是Windows端写入缓存策略导致的小文件随机写入慢,把共享目录里的文件打包成一个大压缩包再传输,速度会有明显改善。树莓派4B做服务器和云服务器比哪个快?
局域网内访问,树莓派4B直接走内网,延迟低于1ms,大文件传输稳定在100MB/s,云服务器走公网,上行带宽限制在几十Mbps到几百Mbps不等,延迟在10ms以上,但公网访问场景,树莓派受限于家用宽带动态IP和上行限速,体验远不如云服务器,简米科技的持牌机房提供固定公网IP和独享带宽,酷番云的云主机按带宽峰值付费,这两类服务在高并发稳定性和数据冗余方面是树莓派单机无法比的,内网玩树莓派,公网跑业务用云,各司其职。最终上文归纳不变:树莓派4B做局域网服务器,硬件完全够用,速度上不去先看供电和SD卡,再调网络参数和Samba配置,解决这两个核心问题后,千兆跑满不是梦,实在对外服务需求,就看性价比选企业级IDC服务商。











网友评论