🀄

SFP+が付いている怪レいミニPC R86Sをレビューする

2023/02/16に公開
1

中華の怪レいPC(R86S)を買った。一通り遊んだのでレポートする。

なにこれ

R86Sの名称でAliexpressやAmazonで販売されている謎のシングルボードコンピュータ。
本体や箱にも公式ドキュメントにもそれっぽい記述が無いため製造元は謎であるが、結構な数が出回ってるみたい。販売サイトにはGuowei Technology社製と記述があった。

公式サイト?
https://docs.r86s.net/#/0_en/

販売サイトの一例
(注:2024/03リンク切れ)

Amazon.co.jpでも売ってます

スペック

色んな構成がある。


(販売サイトから引用, 執筆時閲覧)

アッシが購入したのは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.)をつけた場合の結果も追記する。
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