Raspberry Pi不全能

TL;DR

  • 包括第四代在内的Raspberry Pi设备,应该只适用于小负载、无加密、多线程的生产和实验环境
  • 不适合高速网络环境中的透明代理、高负载的https服务、各种VPN网关、NAS服务、桌面环境
  • 更适合作为终端而不是服务器

设备弱点

CPU性能羸弱

BCM2711性能不足是有目共睹的,落后的制程又让其在高负载运行中温度难以控制,需要类似Argon Neo的这种全金属外壳甚至主动散热来释放温度。

RPi 4的整体性能并不足以支撑一个LXDE环境和各种桌面应用,你甚至很难流畅观看FHD的弹幕视频。

缺少AES-NI

BCM2711并不带有AES硬件加速功能,AES性能可以用不堪一击形容,4核AES-256性能被i3-8100T单核虚拟机吊打。

当然还有chacha20系的算法可以用,性能要比AES好非常多,可是依然比x86弱不少。

因此,包括传统VPN、wireguard、负载均衡、代理服务器在内的所有涉及加解密的场景,Raspberry Pi都很难提供足够的性能。

缺少PCI-E扩展能力

除了CM4有一个PCI-E x1的接口以外,所有RPi都没有可以直接可见的PCI-E。

因此,NVMe SSD就不用想了,有线网卡最多可以上2.5Gbe,还会抢占其他USB设备的带宽,并且造成2.4GHz的干扰

供电困难

按照官方指导文件里的描述,RPi 4应该通过一个至少5V/3A的适配器供电,在USB设备总电流不超过500mA时可以使用2.5A适配器,但不支持USB-PD协议。

然而市面上不支持USB-PD但能提供超过3A电流的5V适配器并没有很多选择,大多数通用的适配器和插排都只提供2.4A最大电流。

NTFS问题

这个问题是整个Linux的问题,但RPi受到的影响尤其明显。

5.15内核并入了NTFS3驱动,可以在低性能的设备上替代NTFS-3G驱动,提供更好的读写性能和更低的开销。但是NTFS3本身还有非常多问题,缺少配套工具、大量bug和兼容性问题、缺少文档。

我手里的三个NTFS设备,有两个可以通过NTFS3挂载,有一个死活不行,找不到任何的文档可以处理或解释这个故障,就算有patch修复这个问题,可又不会并入现有5.15内核,安装新内核还要去backports,这有可能会带来其他问题。而NTFS-3G的性能又非常堪忧,x86设备的性能足够硬扛NTFS-3G,RPi则很容易在高强度读写的情况下挂死。

价格

这本不是一个问题,Raspberry Pi 4本应该是价格最划算的单板计算机之一,但是Covid-19改变了一切,现在一块4GB内存的RPi 4要价近1k,在这个价格上好的选择非常多。

正确的姿势

DNS服务器

旁路DNS服务器可能是老款RPi的正确使用姿势,家用环境下DNS不管多少请求都不会消耗太多性能,也不需要很大的吞吐,不管是PiHole还是AdGuard Home都可以轻松应对。

但是要注意上游DNS如果是TLS的,这负载就要再算算了。

Home Assistant

直接部署HAOS,自带WiFi和蓝牙,无脑连接大量家居设备,还可以对接homekit,打通多方协议。

透明代理

前面提到了RPi并不适合作为高带宽环境中的透明代理,但是在一个500M以内家用宽带的环境中,RPi 4跑一个chacha20的代理还是可以提供一个令人满意的性能。

独立设备跑透明代理的好处就是可以充分利用clash的自动路由,不需要考虑容器、虚拟化网络的特殊性。

商用

只要成本划得来、性能跟得上,RPi依然是非常无脑的嵌入式主机。

你猜猜一个RPi 4+显示器套一个铁壳子,插上RFID读卡器,这样一套东西卖给用户几万比较合适?

我想要HomeLab

是的,我知道很多人在用RPi做轻量的HomeLab主机,甚至感觉还不错。

但是当你的HomeLab出现对第二快RPi的需求的时候,RPi就已经不合适了,这个时候不如搞一套x86的电子垃圾,把家里那些旧电脑留下的DDR4内存、SATA SSD用起来,只需要一块4GB RPi4的预算,你就有机会得到一套至少拥有4核x86内核的全闪存无头主机,而它可以提供的性能和功能都远远超过4GB RPi4。

有x86架构,你可以从容的运行所有可以在RPi上运行的应用,同时还有余力跑一个Windows虚拟机来专门对付各种网盘客户端。