Тестирование платы FriendlyARM NanoPi NEO

Мы уже видели как настроить NanoPi NEO с ядром Ubuntu. На данный момент NanoPI NEO используется в основном как IoT узел, например в качестве реле управляемого через локальную сеть или через интернет. Для проверки как плата будет работать под нагрузкой, были проведены тесты Phoronix, тест сети и хранилища. Это маленькая плата, так что под нагрузкой она должна выделять много тепла, к тому же в комплекте поставки нет радиатора. Также имейте ввиду, что производительность может сильно зависеть от используемого программного обеспечения, для тестов использовалась прошивка на основе ядра Ubuntu.

Перед началом тестирования, обратите внимание что в фоновом режиме работает программа QTe-Demo, возможно потому что оно использовалось для работы с другими платами, с видео выходом иди LCD.

Чтобы отключить ее, отредактируйте файл /etc/rc.local и за комментируйте одну строку следующим образом:

#/opt/QtE-Demo/run.sh&

При установке RPi-Monitor, который обычно легко устанавливается в armbian, не удалось найти быстрый способ для образа ядра Ubuntu, так что пришлось обходится без него и измерять температуру в ручную.

Давайте установим Phoronix Test Suite:

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 и т.д..

phoronix-test-suite benchmark 1604204-GA-1604082GA37

Так как это займет некоторое время (от 4 до 5 часов), проверьте выходной терминал пока тест запущен, может быть информативно:

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. Измерение температуры с помощью ИК термометра, примерно через час, показывает что процессор стал очень горячим.

NanoPi_NEO_CPU_Temperature

Так же можно запросить данные с одного из температурных датчиков с помощью следующей команды:

cat /sys/class/thermal/thermal_zone1/temp 
80

Температура платы колеблется от 76 C до 80 C, так что система явно регулируемая и итоговые результаты произведены чисто (ARMv7 rev 5 это NanoPi NEO без радиатора). Обратите внимание что все 6 плат приведенных ниже, имеют одинаковые настройки регулятора (интерактивные или по запросу). NaniPi NEO с ядром Ubuntu настроена на запуск из оперативной памяти на низкой частоте, чтобы снизить энергопотребление и тепловыделение.

NanoPi_NEO_Benchmark_No_Heatsink
Нажмите чтобы увеличить

John the Ripper это многопоточный взломщик паролей и теоретически NaniPi NEO должна быть на том же уровне, что и Orange Pi One, но здесь наблюдается явная потеря производительности.

NanoPi_NEO_Benchmark_FLAC_No_Heatsink
Нажмите чтобы увеличить

То же самое для однопоточного аудио кодирования FLAC, где NanoPi NEO почти на 50% медленнее чем Orange Pi One и почти на том же уровне, что и Raspberry Pi 2.

Так что давайте проверим что получится пр тестировании с радиатором. На плату был приклеен довольно таки большой радиатор, с помощью термоклея нанесенного на процессор Allwinner H3 и на чип оперативной памяти Samsung DDR3.

NanoPi_NEO_Heatsink_Thermal_Paste

Итак, давайте снова запустим phoronix-test-suite и посмотрим будут ли какие-нибудь улучшения:

phoronix-test-suite benchmark 1607218-GA-1605224GA81

Вывод в терминал для первого теста:

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.

NanoPi_NEO_Heatsink_Temperature

Но температура процессора все равно высокая и время от времени доходит до 80 C:

cat /sys/class/thermal/thermal_zone1/temp 
80

Тем не менее окончательные результаты значительно лучше. Тестирование с радиатором было сделано дважды, так как в первый раз возникла проблема с загрузкой результата.

NanoPi_NEO_Benchmark_FLAC_Heatsink
Нажмите чтобы увеличить

Аудио кодирование FLAC теперь на уровне с Orange Pi One.

NanoPi_NEO_Benchmark_Multithread_with_Heatsink
Нажмите чтобы увеличить

Результаты тестирования John the Ripper на NanoPi NEO такие же низкие, возможно из-за оперативной памяти или из-за перегрева процессора, не смотря на радиатор. Однако, многопоточная производительность стала лучше чем на Raspberry Pi 2.

Если вы планируете использовать NanoPi NEO для контроля нескольких реле, вам не нужно заботиться об охлаждении, но если вы планируете использовать ее как часть кластера или планируете построить ферму, вам понадобится задуматься над использованием радиатора и возможно над вентилятором, для достижения оптимальной производительности, а также для уверенности что плата не перегреется.

Давайте перейдем к производительности сети Ethernet, запустив команду iperf server на плате:

iperf -s

и запустим команду iperf client на компьютере под управлением Ubuntu 14.04 для тестирования дуплексной производительности:

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 в конце первых двух строк, а потом выполните следующие команды:

apt update
apt install iozone3

Iozone3 был запущен с параметрами командной строки сообщества armbian:

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.

Оригинал статьи вы можете прочитать здесь .

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments