Недавние уязвимости в микропроцессорах Intel x86 (Meltdown, Spectre, Foreshadow, RIDL, Fallout, ZombieLoad и т. д.) теперь устранены с помощью исправлений для ядра Linux, хотя это и привело к некоторому снижению производительности. Как следствие, предыдущие сравнительные тесты, проведенные нами, могут ввести вас в некоторое заблуждение по сравнению с новыми результатами, полученными с помощью разных версий программного обеспечения.
Поэтому, мы повторили запуск стандартных Phoronix Test Suite на нескольких последних мини-ПК, на каждом из которых было установлено последнее обновленное программное обеспечение Ubuntu 18.04.2 с ядром Ubuntu 4.15.0-54.
В частности, мы использовали следующие мини-ПК:
- Intel NUC NUC7CJYSAL (Celeron J4005 Gemini Lake)
- Pepper JobsGLK-UC2X (Celeron N4100 Gemini Lake)
- Beelink Gemini X X45 (Celeron J4105 Gemini Lake)
- Beelink Gemini X X55 (Pentium Silver J5005 Gemini Lake) с обновленным BIOS
- Intel NUC NUC7PJYH (Pentium Silver J5005 Gemini Lake)
- Beelink L55 (i3-5005U Broadwell)
На каждом мини-ПК мы также запускали sbc-bench-небольшой набор различных тестов производительности процессора, ориентированных на производительность сервера, glmark2 из стандартных репозиториев, который является эталоном для OpenGL (ES) 2.0. и использует только подмножество API OpenGL 2.0, некоторые реальные тесты синхронизации для компиляции, архивирования и разархивирования ядра Linux mainline v5.2, iozone также из стандартных репозиториев, которые являются инструментом тестирования файловой системы и, наконец, Octane 2, который является эталоном JavaScript и был запущен в Chrome.
Там, где это возможно, мы использовали одну и ту же пару 4 ГБ модулей памяти SAMSUNG M471A5244BB0-CRC 2400 МТ/с DDR4 и Intel SSDSCKJF180A5 SATA 180 ГБ 2280 М.2, либо подключенных к компьютеру, либо размещенных через адаптер в 2,5-дюймовом корпусе SSD, так что процессоры можно считать равными по сравнению.
Phoronix Test Suite
Phoronix Test Suite – это платформа для тестирования, написанная на языке PHP5. Несмотря на то, что доступно множество тестов, мы рассмотрели только тесты, которые фокусируются на производительности сервера для оценки производительности ЦП, ОЗУ и ввода-вывода:
- CacheBench – производительность памяти и пропускной способности кэша.
- CLOMP – C версия Livermore OpenMP, разработанная для измерения издержек OpenMP и других воздействий на производительность из-за многопоточности.
- Сжатие 7-Zip – использует встроенную функцию тестирования p7zip.
- dcraw – этот тест измеряет время, необходимое для преобразования нескольких файлов изображений RAW NEF с высоким разрешением в формат изображений PPM с использованием dcraw.
- Кодирование MP3 LAME – этот тест измеряет время, необходимое для кодирования файла WAV в формат MP3.
- FFmpeg – тест производительности кодирования аудио / видео.
- OpenSSL – Измеряет RSA 4096-битную производительность OpenSSL.
- PHPBench – набор тестов для PHP.
- PyBench – набор тестов Python.
- SQLite – этот тест измеряет время для выполнения заранее определенного количества вставок в индексированную базу данных
- Stream – этот тест тестирует производительность системной памяти (RAM).
- TSCP – тест производительности, встроенный в программу Tom Kerrigan’s Simple Chess.
- Распаковка ядра Linux – этот тест измеряет время, необходимое для извлечения пакета ядра Linux .tar.bz2.
- GMPbench – тест GMP 5.0.3 math library
- IOzone – тестирует производительность жесткого диска / файловой системы.
Полные результаты могут быть немного запутанными, потому что для некоторых тестов чем выше, тем лучше, а для других – чем меньше, тем лучше:
поэтому следующую диаграмму может быть легче понять:
Результаты ясно показывают некоторые аномалии. Устройства Beelink X45 и X55 демонстрируют значительно более низкую производительность чтения в тесте IOzone, что влияет на производительность в тестах SQLite. Интересно, что память DDR3 устройства L55 показывает лучшую производительность для тестов CacheBench и CLOMP. Двухъядерный процессор NUC7CJYSAL без гиперпоточности влияет на производительность сжатия 7-Zip, кодировки LAME MP3 и FFmpeg. Дросселирование процессора произошло на X55, о чем свидетельствует «dmesg», влияющий на некоторые результаты:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[ 6667.805628] CPU3: Core temperature above threshold, cpu clock throttled (total events = 1) [ 6667.805630] CPU2: Core temperature above threshold, cpu clock throttled (total events = 1) [ 6667.805631] CPU0: Core temperature above threshold, cpu clock throttled (total events = 1) [ 6667.805633] CPU1: Core temperature above threshold, cpu clock throttled (total events = 1) [ 6667.805637] CPU2: Package temperature above threshold, cpu clock throttled (total events = 1) [ 6667.805638] CPU0: Package temperature above threshold, cpu clock throttled (total events = 1) [ 6667.805639] CPU1: Package temperature above threshold, cpu clock throttled (total events = 1) [ 6667.805647] CPU3: Package temperature above threshold, cpu clock throttled (total events = 1) [ 6667.806608] CPU1: Core temperature/speed normal [ 6667.806609] CPU0: Core temperature/speed normal [ 6667.806612] CPU0: Package temperature/speed normal [ 6667.806612] CPU1: Package temperature/speed normal [ 6667.806630] CPU3: Core temperature/speed normal [ 6667.806632] CPU2: Core temperature/speed normal [ 6667.806634] CPU2: Package temperature/speed normal [ 6667.806635] CPU3: Package temperature/speed normal |
sbc-bench
Этот тест также фокусируется на производительности сервера и использует следующие инструменты:
- tinymembench – проверяет пропускную способность и задержку памяти во многих вариантах.
- cpuminer – проверяет правильное рассеивание тепла и неустойчивость под нагрузкой.
- 7-zip – представляет «рабочие нагрузки сервера в целом».
- OpenSSL – исключительно фокусируется на производительности AES.
тест был выполнен с помощью команды ‘sudo / bin / bash ./sbc-bench.sh -c’.
glmark2
Этот набор тестов OpenGL (ES) 2.0 был запущен с использованием разрешения 1920 × 1080.
Компиляция Linux
Сначала были установлены следующие пакеты: git build-essential flex bison kernel-package fakeroot libncurses5-dev libssl-dev kernel-wedge libelf-dev devscripts rsync gawk. Исходный код ядра был затем загружен с помощью команды «git clone git: //git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git -b v5.2». Затем после выполнения конфигурации по умолчанию ядро было синхронизировано с помощью команды ‘time LOCALVERSION = fakeroot make-kpkg -j $ (nproc –all) -initrd kernel_image kernel_headers’.
zip Linux
Исходный код ядра (загруженный с помощью «git clone git: //git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git») был рассчитан для архивирования с помощью команды «time zip -r linux». .zip linux ‘.
unzip Linux
Ранее сжатый исходный код ядра был разархивирован с помощью команды time unzip linux.zip.
iozone
Команда iozone была запущена с помощью команды ‘sudo iozone -e -I -a -s 1G -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2’ и результаты операций чтения и записи для 16384k записаны в таблице ниже.
octane
Chrome был установлен, а Octane 2 был запущен с https://chromium.github.io/octane/.
Ниже приводится краткое изложение результатов каждого из вышеуказанных контрольных тестов:
Каждый тест выполнялся, когда средняя нагрузка была менее 0,1. Для каждого из запусков SBC-bench загружены полные результаты http://ix.io, которые проверены на дросселирование и отмечены в таблице. Незначительное дросселирование произошло на X45 и NUC7PJYH, тогда как процессор X55 стал самым горячим и, как следствие, пострадал больше всего. Скорость I/O чтения для устройств Beelink X45 и X55 была почти вдвое меньше, чем у других устройств, что также было отмечено тестом Phoronix IOzone. Результаты тестов памяти были ниже для X45 из-за наличия только 4 ГБ ОЗУ, и следствие этого можно увидеть в других результатах испытаний.
В целом результаты показывают, что большее количество ядер ЦП и более высокая тактовая частота процессора повышают производительность. Тем не менее, выгоды незначительны и варьируются в зависимости от выполняемых задач, поэтому при выборе мини-ПК следует учитывать стоимость, связанную с «лучшими» процессорами. Следует также отметить эффективность управления температурным режимом, особенно если ожидается, что загрузка ЦП будет высокой, поскольку это может существенно повлиять на производительность при выполнении таких задач.
Эта статья была ранее опубликована на linuxiumcomau.blogspot.com
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.