SFP+が付いている怪レいミニPC R86Sをレビューする
中華の怪レいPC(R86S)を買った。一通り遊んだのでレポートする。
なにこれ
R86Sの名称でAliexpressやAmazonで販売されている謎のシングルボードコンピュータ。
本体や箱にも公式ドキュメントにもそれっぽい記述が無いため製造元は謎であるが、結構な数が出回ってるみたい。販売サイトにはGuowei Technology社製と記述があった。
販売サイトの一例
(注:2024/03リンク切れ)
スペック
色んな構成がある。
(販売サイトから引用, 執筆時閲覧)
アッシが購入したのはG2モデル。これだけついて6万円弱なんでとってもお買い得。
- CPU: Celeron N5105 (4C4T、2.0GHz, 最大2.9GHz)
- RAM:16GB
- NIC:
- 2.5G Base-T(マルチレート) x3
- 10G SFP+ x2
- HDMIポート
- USB3.0 x2
- ストレージ:
- 128GB eMMC
- SDカードスロット
- NVMe M.2スロット
ちなみにショップによってはカラーバリエーションもあるらしい。
カラフルなルーター用PCで誰が嬉しいのか謎。
外観
高級感がある化粧箱に入っていた。
本体の他に中国語のマニュアル、ACアダプター、六角ドライバー、合格証?が付属していた。
ACアダプターには200V仕様の記述がある。が、100Vでも動いた。当然PSEマークなんぞ無い。
おもちゃみたいな六角ドライバーはネジが舐めてしまうので使わないほうが良い。
本体もアルミで出来ていてかなり高級感がある。ギシギシしたりとかは全然ない。
ちなみにファンレスっぽい見た目だがファンレスじゃない。 ファンの音はそこそこ。Macbook pro 13インチの通常時とトントンくらいは静か。
背面は六角レンチ2つであけることが出来る。M.2規格のNVMeストレージを接続可能。多分ある程度長いやつでも入る。
側面の六角ネジをすべて開けて御開帳してみた図。本体は上部で、下部はSFP+のNICとNVMeストレージを収納する場所っぽい。もしかしたらライザーケーブルを準備すれば好きなNICやGPUが繋げられるかもしれない。
起動してみて
Linux 5.15.40の割と最新のOpenWRTが入っていた。パフォーマンステストには使いにくいのでUbuntu 22.04に即変更。
詳しく触ってないが、BIOS設定画面からオーバークロックも出来るらしい。
Interfaceの中身
2.5Gポート
Intel i220vらしい。 蟹じゃないのでESXi動かすにも良さそう
Intel Corporation Ethernet Controller I225-V (rev 03)
root@r86s:/home/yas-nyan# ethtool enp2s0
Settings for enp2s0:
Supported ports: [ ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
2500baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
2500baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 2500Mb/s
Duplex: Full
Auto-negotiation: on
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
MDI-X: off (auto)
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
- ethtool -i
- driverはigc
root@r86s:/home/yas-nyan# ethtool -i enp2s0
driver: igc
version: 5.15.0-43-generic
firmware-version: 1068:8754
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
- ethtool -vvv
- 各ポート別のPCIEカードとして繋がっていそう。
- Gen2 x1かな?理論値的にはバスは5Gbpsまで利用できる。
Speed 5GT/s (ok), Width x1 (ok)
10Gポート
Mellanox ConnectX-3らしい。いい意味で枯れたNIC。
04:00.0 Ethernet controller: Mellanox Technologies MT27500 Family [ConnectX-3]
- ethtool
root@r86s:/home/yas-nyan# ethtool enp4s0d1
Settings for enp4s0d1:
Supported ports: [ FIBRE ]
Supported link modes: 10000baseKX4/Full
1000baseX/Full
10000baseCR/Full
10000baseSR/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: 10000baseKX4/Full
1000baseX/Full
10000baseCR/Full
10000baseSR/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 10000Mb/s
Duplex: Full
Auto-negotiation: off
Port: Direct Attach Copper
PHYAD: 0
Transceiver: internal
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000014 (20)
link ifdown
Link detected: yes
- ethtool -i
root@r86s:/home/yas-nyan# ethtool -i enp4s0d1
driver: mlx4_en
version: 4.0-0
firmware-version: 2.42.5000
expansion-rom-version:
bus-info: 0000:04:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes
どうやら2ポートモノのようだ。PCI Express Gen3 x4で接続されていそう。
理論値で32Gbpsまで出るはずなので、2ポートのTX/RXでフルで使うようなことをしなければ不足することは無いと思う。多分。
lspci -vv
で見れる。
Speed 8GT/s (ok), Width x4 (downgraded)
で、10Gしばけんの?
各種カーネルバイパス技術を試す前に、Linux Kernelの底力を見たい。
というわけで、各ポートを「行って来い」でつなげて、iperf3による負荷試験を実施した。サーバー・クライアントともにこの本体で行う。
サーバー側/クライアント側でnetwork namespaceを分けて、確実にNICから出るようにした。
実験環境
-
OS: Ubuntu 22.04 (Linux r86s 5.15.0-43-generic)
- 特にカーネルパラメータはいじらず。素のまま。
-
link mtu: 最大値
- 素のままで設定できる最大MTUは10Gポートで9900, 2.5Gポートで9216らしい。
-
iperf3のオプションは以下の通り。
- 参考までにZerocopy option(
--zerocopy : use a 'zero copy' sendfile() method of sending data. This uses much less CPU.
)をつけた場合の結果も追記する。
- 参考までにZerocopy option(
iperf3 -c {TARGET_HOST} -M {mss} -i 0 -O 3 --json
- 利用したMSSにはRFC2544の推奨フレームサイズを参考に、IPv4 header(20)とTCP header(20)を引いた値を採用。また、Jumbo frameでのパフォーマンスも測るためにテキトーに追加した。
結果
2.5G ポート
通常
MSS size | Goodput throughput |
---|---|
88 | 1.0 Gbps |
216 | 1.62 Gbps |
472 | 1.95 Gbps |
984 | 2.13 Gbps |
1240 | 2.17 Gbps |
1478 | 2.19 Gbps |
3960 | 2.28 Gbps |
7960 | 2.30 Gbps |
8960 | 2.31 Gbps |
9176 | 2.31 Gbps |
ゼロコピー
MSS size | Goodput throughput (Gbps) |
---|---|
88 | 0.99 Gbps |
216 | 1.62 Gbps |
472 | 1.95 Gbps |
984 | 2.13 Gbps |
1240 | 2.17 Gbps |
1478 | 2.19 Gbps |
3960 | 2.28 Gbps |
7960 | 2.3 Gbps |
8960 | 2.31 Gbps |
9176 | 2.31 Gbps |
10G ポート
通常
MSS size | Goodput throughput |
---|---|
88 | 1.58 Gbps |
216 | 3.37 Gbps |
472 | 5.78 Gbps |
984 | 7.92 Gbps |
1240 | 8.66 Gbps |
1478 | 8.77 Gbps |
3960 | 7.19 Gbps |
7960 | 9.20 Gbps |
8960 | 9.21 Gbps |
9176 | 9.21 Gbps |
ゼロコピー
MSS size | Goodput throughput (Gbps) |
---|---|
88 | 1.74 Gbps |
216 | 3.89 Gbps |
472 | 7.41 Gbps |
984 | 5.97 Gbps |
1240 | 8.25 Gbps |
1478 | 8.77 Gbps |
3960 | 9.1 Gbps |
7960 | 9.2 Gbps |
8960 | 9.21 Gbps |
9176 | 9.21 Gbps |
負荷テスト
2.5G NIC/10G NICそれぞれで30分くらいiperf3を走らせ、どれくらいアチアチになるか検証。
テスト中の各センサーの温度。多分吸気温度センサーとCPU温度かな? しばらく動かしたが60度近辺で落ち着いた。
acpitz-acpi-0
Adapter: ACPI interface
temp1: +27.8°C (crit = +119.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +61.0°C (high = +105.0°C, crit = +105.0°C)
Core 0: +61.0°C (high = +105.0°C, crit = +105.0°C)
Core 1: +61.0°C (high = +105.0°C, crit = +105.0°C)
Core 2: +61.0°C (high = +105.0°C, crit = +105.0°C)
Core 3: +61.0°C (high = +105.0°C, crit = +105.0°C)
触ってみた感じ、カイロ程度に温かいが、やけどする様な温度にはならなかった。
結論
非常にハオで謝謝🍆な気持ちになった。中華の闇なんか無かった。
自宅ルーター用, 持ち運んでのトラシュー用, その他実験用に3台くらいほしい。せっかくだから次は青とかオレンジとかにしようかな。(やっぱ、カラバリはあると嬉しかった)
Discussion
ありがとうございました。とても参考になりました。