11 月 29 2020
測試 Raspberry Pi 4 可用的 storage devices
數年前我開始玩 Raspberry Pi ,第一款入手的是 Raspberry Pi 2 model B;原先的想法是在家弄個微型 Linux server,運氣好的話還能裝 desktop 版,接上電視當 Thin client。
但這個版本 CPU 速度不快,記憶體不大,MicroSD 的 file I/O 也不算快,我裝起來玩沒幾個月就撤下來了… ![]()
之後我在看到 Orange Pi 的 benchmarking 文章,感覺內建的 EMMC 速度不錯,就買了一台 Orange Pi Plus 2 來玩。
也是玩沒幾個月,發現 Orange Pi 的生態系不太完整,而且 Orange Pi Plus 2 的 CPU 發熱量頗高,非得搞個風扇才能讓它保持清醒(風扇還要定時更換),便又把它撤下來了…
Raspberry Pi 4 大概是在 2019 年六月面世,而且 Benchmarking the Raspberry Pi 4 這文有一部份對我挺有吸引力…

我想在家弄的 Linux server 已經被我扔進 NAS 的 VM,直到 8GB 記憶體的版本面世,我才又入手。
把它裝起來玩之後,發現 MicroSD 的 file I/O 依舊無法跟 NAS 裡面的 VM guest 相比,便又擱著…
直到最近看到一堆 Raspberry Pi 4 的 USB boot 文,才又有動力把它抓出來測 file I/O ,順便留個紀錄。
在測試前,有件事讓我搞很久…
我用 USB 外接硬碟可以作 USB boot,但用 Intel SSD 760p 配 Asus ROG STRIX ARION、伽利略 M2NVU31(晶片是 JMS583)一直失敗… ![]()
我在 Facebook 的台灣樹苺派社群提問,便有人回覆提醒我該注意供電與轉接器的主控晶片。
於是我把裝置接上一個可額外供電的 USB 3.0 hub,NVMe SSD 搭配 JMS583 主控 就成功達成 USB boot 了…

隨後又在網路上找了個 RTL9210 主控的轉接器,發現 RTL9210 毋需額外供電,直接接上就可以作 USB boot。

測試的配置圖(開機時僅接上 NVMe SSD):

Raspberry Pi 4 的一些基本資訊,開機後裝上 & 掛載受測的 storage devices:

fio 的參數都一樣:
-iodepth=128 -ioengine=libaio -bs=4k \ --runtime=300 --size=500M \ --direct=1 --rw=randrw
前面的廢話夠多了,先列 fio 的隨機存取測試結果;由快到慢分別是:
- Intel SSD 760p 搭配 NVMe-to-USB3 轉接器(左三,Raspberry Pi 4 開機時僅接上這個作 USB boot):iops 約 11k,傳輸約 42MB/s
- Fujitsu F500 SATA SSD 搭配 SATA-to-USB3 線(左一):iops 約 10k,傳輸約 40MB/s
- SanDisk Extreme Pro MicroSD card(在 Raspberry Pi 4 肚子裡):iops 約 390,傳輸約 1560KB/s
- SanDisk Ultra Go 隨身碟(插在 USB 3.0 hub,tiffany 藍那傢伙):iops 約 170,傳輸約 680KB/s
- Toshiba Canvio Basics 2.5″ USB3 外接硬碟(左二,應該是 SMR HDD):iops 約 63,傳輸約 250KB/s
有興趣的可以繼續看測試截圖…






12 月 7 2020
測試 Raspberry Pi 4 的 MySQL server
之前測過 Raspberry Pi 4 可用的 storage devices ;讓我選擇的話,不在 Raspberry Pi 4 透過 USB 3 裝 SSD,大概就是 MicroSD card 。
fio 只能測試 file I/O,而 sysbench 可以測試 CPU 跟 memory,甚至還能測試 DBMS 效能。
測試基準作業系統都是 Ubuntu 20.10,安裝 MySQL 8,使用的工具是 sysbench ,用 oltp_read_write 作測試。(Percona 尚未提供 groovy 的 repository,就先不用 sysbench-tpcc 作測試了…)
裝機之後簡單執行這幾行指令:
Intel SSD 760p 搭配 NVMe-to-USB3 轉接器,fio 測得結果是 iops 約 11k,傳輸約 42MB/s 。

SanDisk Extreme Pro MicroSD card,fio 測得結果是 iops 約 390,傳輸約 1560KB/s 。

對照組,這是在 DigitalOcean 開 US$ 10/mo 的 VPS (1 vCPU & 2GB RAM)作測試。

(看 /proc/cpuinfo 是 Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.30GHz ,bogomips 約 4k)
有想要放網站的話,選用 VPS 還是會比較好… 至少,被攻擊的時候不會塞滿自己的頻寬。
有興趣玩 VPS 的可以參考這裡呀…
By Joe Horn • Computer Hardware, Database 0 • Tags: benchmarking, MySQL, oltp_read_write, Raspberry Pi 4, sysbench, VPS