Мы уже видели как настроить NanoPi NEO с ядром Ubuntu. На данный момент NanoPI NEO используется в основном как IoT узел, например в качестве реле управляемого через локальную сеть или через интернет. Для проверки как плата будет работать под нагрузкой, были проведены тесты Phoronix, тест сети и хранилища. Это маленькая плата, так что под нагрузкой она должна выделять много тепла, к тому же в комплекте поставки нет радиатора. Также имейте ввиду, что производительность может сильно зависеть от используемого программного обеспечения, для тестов использовалась прошивка на основе ядра Ubuntu.
Перед началом тестирования, обратите внимание что в фоновом режиме работает программа QTe-Demo, возможно потому что оно использовалось для работы с другими платами, с видео выходом иди LCD.
Чтобы отключить ее, отредактируйте файл /etc/rc.local и за комментируйте одну строку следующим образом:
1 |
#/opt/QtE-Demo/run.sh& |
При установке RPi-Monitor, который обычно легко устанавливается в armbian, не удалось найти быстрый способ для образа ядра Ubuntu, так что пришлось обходится без него и измерять температуру в ручную.
Давайте установим Phoronix Test Suite:
1 2 3 |
apt install php5-cli php5-gd wget http://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_6.2.1_all.deb dpkg -i phoronix-test-suite_6.2.1_all.deb |
и запустим тестирование для сравнения результатов с платами Orange Pi, Banana Pi, Raspberry Pi и т.д..
1 |
phoronix-test-suite benchmark 1604204-GA-1604082GA37 |
Так как это займет некоторое время (от 4 до 5 часов), проверьте выходной терминал пока тест запущен, может быть информативно:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
John The Ripper 1.8.0: pts/john-the-ripper-1.5.1 [Test: Blowfish] Test 1 of 7 Estimated Trial Run Count: 3 Estimated Test Run-Time: 5 Minutes Estimated Time To Completion: 32 Minutes (08:13 UTC) Started Run 1 @ 07:41:35 Started Run 2 @ 07:42:31 Started Run 3 @ 07:43:28 [Std. Dev: 10.07%] Started Run 4 @ 07:44:24 [Std. Dev: 9.58%] Started Run 5 @ 07:45:21 [Std. Dev: 9.54%] Started Run 6 @ 07:46:17 [Std. Dev: 9.10%] Test Results: 368 320 304 301 292 295 Average: 313 Real C/S |
Phoronix будет проводить один и тот же тест несколько раз и в теории, каждый последующий тест должен показывать приблизительно одинаковые результаты, но на практике современные процессоры во избежании перегрева могут уменьшать частоту процессора или уменьшать количество активных ядер. Здесь результаты выглядят не очень хорошо и с каждым разом становятся because. Измерение температуры с помощью ИК термометра, примерно через час, показывает что процессор стал очень горячим.
Так же можно запросить данные с одного из температурных датчиков с помощью следующей команды:
1 2 |
cat /sys/class/thermal/thermal_zone1/temp 80 |
Температура платы колеблется от 76 C до 80 C, так что система явно регулируемая и итоговые результаты произведены чисто (ARMv7 rev 5 это NanoPi NEO без радиатора). Обратите внимание что все 6 плат приведенных ниже, имеют одинаковые настройки регулятора (интерактивные или по запросу). NaniPi NEO с ядром Ubuntu настроена на запуск из оперативной памяти на низкой частоте, чтобы снизить энергопотребление и тепловыделение.
John the Ripper это многопоточный взломщик паролей и теоретически NaniPi NEO должна быть на том же уровне, что и Orange Pi One, но здесь наблюдается явная потеря производительности.
То же самое для однопоточного аудио кодирования FLAC, где NanoPi NEO почти на 50% медленнее чем Orange Pi One и почти на том же уровне, что и Raspberry Pi 2.
Так что давайте проверим что получится пр тестировании с радиатором. На плату был приклеен довольно таки большой радиатор, с помощью термоклея нанесенного на процессор Allwinner H3 и на чип оперативной памяти Samsung DDR3.
Итак, давайте снова запустим phoronix-test-suite и посмотрим будут ли какие-нибудь улучшения:
1 |
phoronix-test-suite benchmark 1607218-GA-1605224GA81 |
Вывод в терминал для первого теста:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
John The Ripper 1.8.0: pts/john-the-ripper-1.5.1 [Test: Blowfish] Test 1 of 7 Estimated Trial Run Count: 3 Estimated Test Run-Time: 5 Minutes Estimated Time To Completion: 3 Hours, 40 Minutes (05:50 UTC) Started Run 1 @ 02:10:39 Started Run 2 @ 02:11:35 Started Run 3 @ 02:12:31 [Std. Dev: 2.68%] Test Results: 461 456 438 Average: 452 Real C/S |
Результаты более стабильны и это хороший знак.
Температура радиатора после нескольких часов тестирования около 54 C.
Но температура процессора все равно высокая и время от времени доходит до 80 C:
1 2 |
cat /sys/class/thermal/thermal_zone1/temp 80 |
Тем не менее окончательные результаты значительно лучше. Тестирование с радиатором было сделано дважды, так как в первый раз возникла проблема с загрузкой результата.
Аудио кодирование FLAC теперь на уровне с Orange Pi One.
Результаты тестирования John the Ripper на NanoPi NEO такие же низкие, возможно из-за оперативной памяти или из-за перегрева процессора, не смотря на радиатор. Однако, многопоточная производительность стала лучше чем на Raspberry Pi 2.
Если вы планируете использовать NanoPi NEO для контроля нескольких реле, вам не нужно заботиться об охлаждении, но если вы планируете использовать ее как часть кластера или планируете построить ферму, вам понадобится задуматься над использованием радиатора и возможно над вентилятором, для достижения оптимальной производительности, а также для уверенности что плата не перегреется.
Давайте перейдем к производительности сети Ethernet, запустив команду iperf server на плате:
1 |
iperf -s |
и запустим команду iperf client на компьютере под управлением Ubuntu 14.04 для тестирования дуплексной производительности:
1 2 3 4 5 6 7 8 9 |
iperf -t 60 -c 192.168.0.109 -d Client connecting to 192.168.0.104, TCP port 5001 TCP window size: 74.4 KByte (default) ------------------------------------------------------------ [ 6] local 192.168.0.109 port 42860 connected with 192.168.0.104 port 5001 Waiting for server threads to complete. Interrupt again to force quit. [ 6] 0.0-60.1 sec 672 MBytes 93.8 Mbits/sec [ 5] 0.0-60.1 sec 185 MBytes 25.8 Mbits/sec |
Итак, скорость скачивания достигла 93.8 Мбит/с, но скорость загрузки подкачала и достигла всего 25.8 Мбит/с. Помните, что двойное дуплексное тестирование это худший вариант сценария с высоким прохождением трафика в оба направления и это не значит что скорость ограничена 25 Мбит/с в более типичных сценариях.
NanoPi NEO поставляется без какого либо хранилища и вам понадобится использовать micro SD карту, FriendlyARM продают и рекомендуют карту Sandisk Ultra 8GB SD micro.
Для тестирования производительности micro SD карты была установлена программа iozone. Вам понадобится изменить файл /etc/apt/source.list для добавления multiverse в конце первых двух строк, а потом выполните следующие команды:
1 2 |
apt update apt install iozone3 |
Iozone3 был запущен с параметрами командной строки сообщества armbian:
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 |
iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.429 $ Compiled for 32 bit mode. Build: linux Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 10242 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. random random kB reclen write rewrite read reread read write d 102400 4 1955 2352 7864 7863 7761 736 102400 16 7564 7279 15509 15645 15571 99 102400 512 7570 11354 22914 22631 22909 2503 102400 1024 9598 10864 22947 22948 22894 5094 102400 16384 9689 9647 23075 22742 23069 9709 iozone test complete. |
Это не совсем быстрая карта, особенно с точки зрения случайной записи файлов и если вам нужна плата загружающаяся очень быстро, вам понадобится более быстрая карта, например Samsung EVO 32 Гб.
Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь .