В первой части обзора NanoPi NEO3 и Nano R2S мы проверили оборудование: оба крошечных шлюза работают на процессоре Rockchip RK3328, но с другими функциями, так как NEO3 включает порт Gigabit Ethernet и порт USB 3.0, а R2S поставляется с двумя портами Gigabit Ethernet и портом USB 2.0.
У нас было время протестировать оба шлюза, используя версию Armbian 20.08.1, основанную на Ubuntu 20.04 Focal. Обратите внимание, что хотя NanoPi R2S официально поддерживается Armbian, NanoPi NEO3 в настоящее время помечена как «подходящие для тестирования». При этом мы не сталкивались с какими-либо конкретными проблемами по NEO3, и в основном это может означать, что с R2S легче получить поддержку на форумах.
Мы прошили две карты microSD с помощью USBImager с:
- Armbian_20.08.1_Nanopi-r2s_focal_current_5.8.6_minimal.img.xz
- Armbian_20.08.1_Nanopineo3_focal_current_5.8.6_minimal.img.xz
Это означает, что Ubuntu 20.04 с Linux 5.8.6, но Armbian всегда обновляется, мы закончили обзор Linux 5.8.15. Мы сосредоточим обзор на тепловых испытаниях, а также на производительности Ethernet и USB.
Настройка системы
Обе системы являются безголовыми, поэтому вы не можете подключить их ни к какому дисплею для настройки. Вместо этого мы можем подключиться к SSH, используя пароль root и 1234.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
jaufranc@cnx-laptop-4:~/edev/sandbox$ ssh root@192.168.1.11 The authenticity of host '192.168.1.11 (192.168.1.11)' can't be established. ECDSA key fingerprint is SHA256:9zJ3dqlsSKuFU5pXTxIZJ8RaBMolJOx8SN+s74SjVv8. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.1.11' (ECDSA) to the list of known hosts. root@192.168.1.11's password: _ _ ____ _ _ _ _____ | \ | | _ \(_) | \ | | ___ ___ |___ / | \| | |_) | | | \| |/ _ \/ _ \ |_ \ | |\ | __/| | | |\ | __/ (_) | ___) | |_| \_|_| |_| |_| \_|\___|\___/ |____/ Welcome to Armbian 20.08.1 Focal with Linux 5.8.6-rockchip64 No end-user support: work in progress System load: 0.00 0.07 0.22 Up time: 19 min Local users: 2 Memory usage: 5 % of 1919MB IP: 192.168.1.11 CPU temp: 58°C Usage of /: 22% of 3.4G Last login: Thu Sep 3 19:53:03 2020 New to Armbian? Documentation: https://docs.armbian.com Support: https://forum.armbian.com New root password: ********** Repeat password: ********** Detected timezone: Asia/Bangkok (+07, +0700) Do you want to set locales and console keyboard automatically from your location [Y/n] Generating locales: th_TH.UTF-8 Console keyboard layout: th Creating a new user account. Press <Ctrl-C> to abort Please provide a username (eg. your forename): jaufranc Create password: ********** Repeat password: ********** Please provide your real name (eg. John Doe): Jean-Luc Dear Jean-Luc, your account jaufranc has been created and is sudo enabled. Please use this account for your daily work from now on. |
Это проведет нас через мастера Armbian, чтобы установить новый пароль root, обновить локализацию и создать новую учетную запись пользователя. При последующем входе в систему будет отображаться только системная информация.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
ssh jaufranc@192.168.1.8 jaufranc@192.168.1.8's password: _ _ _ ____ ____ ____ | \ | | __ _ _ __ ___ _ __ (_) | _ \|___ \/ ___| | \| |/ _` | '_ \ / _ \| '_ \| | | |_) | __) \___ \ | |\ | (_| | | | | (_) | |_) | | | _ < / __/ ___) | |_| \_|\__,_|_| |_|\___/| .__/|_| |_| \_\_____|____/ |_| Welcome to Armbian 20.08.1 Focal with Linux 5.8.6-rockchip64 System load: 0.01 0.02 0.06 Up time: 19 min Memory usage: 11 % of 979MB IP: 192.168.1.8 CPU temp: 46°C Usage of /: 6% of 15G [ Menu-driven system configuration (beta): sudo apt update && sudo apt install armbian-config ] To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. |
Мы видим, что наш NanoPi R2S поставляется с 1 ГБ ОЗУ и находится в режиме ожидания при 46 ° C, в то время как NanoPi NEO3 имеет 2 ГБ ОЗУ, а температура процессора составляет 58 ° C в режиме ожидания через несколько минут после загрузки. Так что металлический корпус очень помогает последнему.
Давайте установим armbianmonitor, чтобы получить графики температуры:
1 2 3 4 5 6 7 8 |
sudo armbianmonitor -r Extracting templates from packages: 100% to 5 minutes. Be patient please<br>กำลังเลือกแพกเกจ perl-modules-5.30 ที่เดิมไม่ได้เลือก<br>(กำลังอ่านฐานข้อมูล ... 20537 แฟ้มและไดเรกทอรีติดตั้งอยู่) ... Restarting rpimonitor (via systemctl): rpimonitor.service. กำลังประมวลผลการสะกิดสำหรับ systemd (245.4-4ubuntu3.2) ... กำลังประมวลผลการสะกิดสำหรับ libc-bin (2.31-0ubuntu9) ... Now you're able to enjoy RPi-Monitor at http://192.168.1.8:8888 |
Хорошо … Возможно, нам не стоило запрашивать исходный скрипт автоматически устанавливать локализацию и клавиатуру консоли из нашего местоположения …
Установим armbian-config и изменим настройки:
1 2 |
sudo apt update && sudo apt install armbian-config sudo armbian-config |
Давайте выберем Personal – Timezone, language, hostname, а затем Locales, чтобы включить/отключить языковые стандарты, которые мы хотели бы использовать, и, наконец, выберем языковой стандарт по умолчанию, как показано ниже. Мы предпочли C.UTF-8.
Надеюсь, что весь вывод команд в оставшейся части обзора будет полностью на английском языке.
Тепловые испытания NanoPi NEO3 / R2S с помощью SBC Bench
Мы воспользуемся скриптом sbc-bench.sh Томаса Кайзера для тестирования системы проверки наличия дросселирования процессора:
1 2 3 |
wget https://raw.githubusercontent.com/ThomasKaiser/sbc-bench/master/sbc-bench.sh chmod +x sbc-bench.sh sudo ./sbc-bench.sh -c |
Результаты NanoPi R2S:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
sbc-bench v0.7.3 Installing needed tools. This may take some time... Done. Checking cpufreq OPP... Done. Executing tinymembench. This will take a long time... Done. Executing OpenSSL benchmark. This will take 3 minutes... Done. Executing 7-zip benchmark. This will take a long time... Done. Executing cpuminer. This will take 5 minutes... Done. Checking cpufreq OPP... Done. ATTENTION: Throttling might have occured. Check the log for details. Memory performance: memcpy: 1823.3 MB/s memset: 8075.5 MB/s (4.9%) Cpuminer total scores (5 minutes execution): 5.19,5.10,5.09,5.08,5.07,5.06,5.05,5.04,5.03,5.02,5.01,5.00,4.99,4.98,4.97,4.96,4.95,4.94 kH/s 7-zip total scores (3 consecutive runs): 3871,3812,3731 OpenSSL results: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 125653.55k 378521.71k 744476.42k 1011597.99k 1129977.17k 1137830.57k aes-128-cbc 125576.42k 378576.92k 742996.48k 1011358.04k 1129693.18k 1138059.95k aes-192-cbc 120053.83k 338667.82k 610043.48k 781201.41k 849619.63k 854573.06k aes-192-cbc 119750.26k 337591.06k 609919.74k 781286.06k 850703.70k 854425.60k aes-256-cbc 116585.73k 311847.45k 529623.72k 654216.53k 702300.16k 705473.19k aes-256-cbc 116563.15k 311329.66k 529655.89k 654095.70k 702305.62k 704872.45k Full results uploaded to http://ix.io/2Ahg. Please check the log for anomalies (e.g. swapping or throttling happenend) and otherwise share this URL. |
Мы видим, что произошло дросселирование, но, глядя на данные и график температуры, это произошло только в самом конце многопоточного теста 7-zip и во время cpuminer.
Обратите внимание, что температура в нашей комнате была около 30-31 ° C, и при более низкой температуре окружающей среды дросселирование может вообще не произойти.
Повторим тест с NanoPi NEO3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
sbc-bench v0.7.3 Installing needed tools. This may take some time... Done. Checking cpufreq OPP... Done. Executing tinymembench. This will take a long time... Done. Executing OpenSSL benchmark. This will take 3 minutes... Done. Executing 7-zip benchmark. This will take a long time... Done. Executing cpuminer. This will take 5 minutes... Done. Checking cpufreq OPP... Done. ATTENTION: Throttling might have occured. Check the log for details. Memory performance: memcpy: 1815.9 MB/s (0.6%) memset: 7900.5 MB/s (3.0%) Cpuminer total scores (5 minutes execution): 3.07,3.06,3.05,3.04,3.03,3.02,3.01,3.00,2.99,2.98,2.97,2.94,2.93 kH/s 7-zip total scores (3 consecutive runs): 2477,2431,2403 OpenSSL results: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 109940.58k 327522.77k 635521.11k 857270.61k 951416.15k 959261.35k aes-128-cbc 109803.05k 329568.64k 641739.26k 877921.62k 970678.27k 965099.52k aes-192-cbc 104812.70k 294756.05k 525494.87k 667558.91k 721756.16k 728055.81k aes-192-cbc 104803.51k 293656.68k 526266.03k 667227.82k 726540.29k 728312.49k aes-256-cbc 102166.79k 270806.70k 453774.08k 557345.11k 601008.81k 598043.31k aes-256-cbc 101311.90k 271965.97k 453066.92k 554613.08k 596350.29k 602286.76k Full results uploaded to http://ix.io/2Ahn. Please check the log for anomalies (e.g. swapping or throttling happenend) and otherwise share this URL. |
Небольшой радиатор внутри корпуса не особо помогает, и дросселирования процессора произошло практически сразу, даже в tinybench. Вы также заметите гораздо более низкие результаты тестов из-за дросселирования, несмотря на то, что обе платформы используют процессор Rockchip RK3328. Например, R2S набирает около 3800 баллов в 7-zip, в то время как NEO3 набирает только около 2450 баллов, что на 35% меньше.
Опять же, температура окружающей среды 30–31 ° C, вероятно, сыграла свою роль, но, учитывая, что однопоточные тесты вызвали дросселирование процессора при температуре около 85 ° C, мы ожидали, что этот тип проблемы появится у большинства людей, даже в гораздо более прохладных помещениях.
Тем не менее, мы легли спать и заметили, что температура упала в 4 часа утра следующего дня.
Внезапное падение температуры NanoPi NEO3 В то время также был небольшой всплеск загрузки процессора.
Мы подумали, что это может быть запланированная задача, но мы не смогли ничего найти в crontab, и вместо этого плата просто перезапустилась в это время:
1 2 3 4 |
jaufranc@nanopineo3:~$ uptime 14:49:29 up 10:48, 2 users, load average: 0.09, 0.10, 0.03 jaufranc@nanopineo3:~$ date Sun Oct 11 14:49:32 +07 2020 |
Там, где мы живем, часто случаются сбои в питании, но NanoPi R2S не перезагрузился, несмотря на то, что был подключен к тому же источнику питания мощностью 100 Вт (многопортовый источник питания MINIX NEO P2 USB-C):
1 2 |
jaufranc@nanopi-r2s:~$ uptime 14:45:54 up 1 day, 7 min, 1 user, load average: 0.00, 0.00, 0.00 |
Так что у нас нет объяснений ни перезагрузке, ни графику температуры, потому что даже примерно через 11 часов после завершения теста sbc-bench.sh температура простоя не вернулась к норме до перезагрузки. [Обновление: более высокая температура вызвана тем, что sbc-bench.sh устанавливает регулятор на «производительность»]
Проверка температуры NanoPi NEO3 с помощью Syncthing
Не каждая рабочая нагрузка требует, чтобы ЦП постоянно находился под нагрузкой, поэтому, чтобы проверить, как NanoPi NEO3 будет работать как мини-NAS, мы планировали установить OpenMediaVault (OMV) через armbian-config. Но его там нет, потому что OMV не поддерживает Ubuntu. Мы могли бы установить Debian для загрузки OMV на плату, но мы заметили программу непрерывной синхронизации файлов Syncthing, которая также будет использовать Ethernet и хранилище, поэтому мы установили ее вместо этого, используя armbian-config, перейдя в Software-> Softy.
Мы также добавили установку программы на наш компьютер, следуя стандартным инструкциям для Ubuntu, и синхронизировали папку изображений на нашем компьютере с каталогом на жестком диске, подключенном к NanoPi NEO3.
Скорость загрузки сильно различается, и похоже, что Syncthing передает файлы один за другим, поскольку мы видим пики передачи на системном мониторе на нашем ноутбуке вместо постоянной скорости передачи, поэтому нагрузка на систему не так высока, как могла бы, и действительно, после выполнения синхронизации в течение примерно одного часа температура никогда не превышала 85 ° C. В то время комнатная температура была около 28-29 ° C.
Температура, вероятно, достигла пика при передаче файлов большего размера, например видео. Произошел сбой около 15:06, так как сканирование папок на ноутбуке не было завершено, и оно возобновляется через несколько минут после того, как все ~ 1600 файлов (70 ГБ) были просканированы на хосте.
Производительность Ethernet
Мы установили iperf для проверки производительности сети
Полнодуплексный NanoPi R2S на LAN-порт:
1 2 3 4 |
[ 6] local 192.168.1.4 port 33936 connected with 192.168.1.8 port 5001 [ ID] Interval Transfer Bandwidth [ 6] 0.0-60.0 sec 5.85 GBytes 838 Mbits/sec [ 4] 0.0-60.0 sec 5.64 GBytes 806 Mbits/sec |
Это почти настолько хорошо, насколько это возможно, поскольку плата может одновременно перемещать данные в обоих направлениях с высокой пропускной способностью.
Полнодуплексный NanoPi R2S на порту WAN:
1 2 3 4 5 6 |
Client connecting to 192.168.1.12, TCP port 5001 TCP window size: 178 KByte (default) ------------------------------------------------------------ [ 6] local 192.168.1.4 port 58254 connected with 192.168.1.12 port 5001 [ 4] 0.0-60.0 sec 6.35 GBytes 908 Mbits/sec [ 6] 0.0-60.0 sec 4.01 GBytes 574 Mbits/sec |
Он быстро в одном направлении и немного медленнее в другом. Скорее всего, это не имеет значения для большинства случаев использования, но если у вас есть торрент-узел, который загружает и выгружает файлы одновременно, производительность может быть не оптимальной.
SI также протестировал только загрузку порта WAN R2S:
1 2 |
[ ID] Interval Transfer Bandwidth [ 3] 0.0-60.0 sec 6.51 GBytes 931 Mbits/sec |
и только скачивание:
1 2 3 |
[ ID] Interval Transfer Bandwidth [ 3] 0.0-60.0 sec 6.57 GBytes 941 Mbits/sec |
Здесь все хорошо.
Переход на NanoPi NEO3 с полнодуплексной передачей:
1 2 3 4 5 6 |
Client connecting to 192.168.1.11, TCP port 5001 TCP window size: 178 KByte (default) ------------------------------------------------------------ [ 6] local 192.168.1.4 port 36400 connected with 192.168.1.11 port 5001 [ 4] 0.0-60.0 sec 6.53 GBytes 934 Mbits/sec [ 6] 0.0-60.0 sec 4.46 GBytes 638 Mbits/sec |
Довольно хорошо, но все же немного медленнее в одном направлении.
Так что мы тестировали только загрузку:
1 2 3 4 5 6 |
Client connecting to 192.168.1.11, TCP port 5001 TCP window size: 246 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.1.4 port 36974 connected with 192.168.1.11 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-60.0 sec 6.57 GBytes 940 Mbits/sec |
и только скачивание:
1 2 3 4 5 6 |
Client connecting to 192.168.1.4, TCP port 5001 TCP window size: 722 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.1.11 port 36982 connected with 192.168.1.4 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-60.0 sec 6.57 GBytes 940 Mbits/sec |
Ровно 940 Мбит/с для обоих, и это отлично для такого маленького и дешевого устройства.
Производительность USB
Мы подключили жесткий диск USB 3.0 к одному из шлюзов, чтобы проверить производительность USB. Однако ни один из разделов на USB-накопителе не смонтируется автоматически:
1 2 3 4 5 6 7 8 |
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 244.1G 0 part ├─sda2 8:2 0 244.1G 0 part ├─sda3 8:3 0 244.1G 0 part └─sda4 8:4 0 199.1G 0 part |
Итак, для тестирования мы установили pmount…
1 2 |
sudo apt install pmount |
чтобы смонтировать раздел EXT-4 как текущий пользователь (т.е. без sudo):
1 2 |
pmount /dev/sda2 cd /media/sda2 |
Теперь запустим iozone на NanoPi NEO RS2, чтобы проверить производительность USB:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
iozone -e -I -a -s 100M -r 1024k -r 16384k -i 0 -i 1 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 1024k -r 16384k -i 0 -i 1 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. kB reclen write rewrite read reread 102400 1024 34079 34181 34261 34582 102400 16384 34401 34409 34471 34823 iozone test complete. |
Около 34 Мб/с – это нормально, учитывая, что у нас есть порт USB 2.0.
Пришло время размонтировать диск
1 |
pumount /dev/sda2 |
и переместите его в Nano NEO3, чтобы повторить ту же процедуру с портом USB 3.0.
1 2 3 4 5 |
iozone -e -I -a -s 100M -r 1024k -r 16384k -i 0 -i 1 kB reclen write rewrite read reread 102400 1024 50482 84674 86797 88894 102400 16384 79433 84791 85789 87346 |
Результаты выше – около 85 Мб/с, но немного разочаровывают для порта USB 3.0, поскольку мы обычно получаем от 90 до 100+ Мб/с на этом диске.
Заключительные слова
Оба являются хорошими маленькими шлюзами, которые служат разным целям: NanoPi R2S оснащен двумя портами Gigabit Ethernet и портом USB 2.0, а NanoPi NEO3 имеет порт Gigabit Ethernet и порт USB 3.0, и оба устройства хорошо работают с Armbian (Ubuntu Focal) с ожидаемой производительностью. Но при любых тяжелых или не очень тяжелых рабочих нагрузках NanoPi NEO3 будет нагреваться довольно быстро, по крайней мере, с пластиковым корпусом, с которым поставляется устройство, аналогичное тому, что мы получили для обзора, поэтому, если ограничение скорости USB 2.0 не является проблемой для вашего варианта использования, вы можете предпочесть NanoPi R2S с его металлическим корпусом, который помогает шлюзу оставаться прохладным при большинстве нагрузок. Однако, как мы видели с синхронизацией изображений (и некоторых видео) Syncthing, не во всех случаях использования NanoPi NEO3 будет снижаться скорость ЦП.
Нам хотел бы поблагодарить FriendlyELEC за отправку образцов для обзора и сообщество Armbian за предоставление простых в использовании образов прошивок. Шлюзы можно приобрести с корпусом или без него на Aliexpress (здесь и здесь) или непосредственно на сайте компании. Обязательно приобретайте NanoPi R2S с черным металлическим корпусом, а не с желтым пластиковым корпусом, иначе он, скорее всего, будет страдать от таких же проблем с перегревом, как NanoPi NEO3 SBC с пластиковым корпусом.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.