Главная
» LINUX
»
Ubuntu Server 24.04: минимальная установка против стандартной: что на самом деле показывают тесты производительности
Ubuntu Server 24.04: минимальная установка против стандартной: что на самом деле показывают тесты производительности
Вы устанавливаете Ubuntu Server 24.04 LTS на две идентичные виртуальные машины, выбираете минимальный размер установки на одной и стандартный на другой, а затем задаетесь вопросом, действительно ли меньший размер установки ускорит работу вашего приложения. Это практический вопрос, лежащий в основе большинства сравнений «минимальный против стандартного». Ответ гораздо сложнее, чем простое сравнение результатов бенчмарков: минимальный размер установки может уменьшить использование хранилища, количество установленных пакетов, фоновое программное обеспечение, а иногда и простаивающую память или загрузочную работу, но он не гарантирует автоматическое ускорение ядра для вашего процессора, базы данных или веб-сервера.
Ubuntu 24.04 LTS, кодовое название Noble Numbat, поддерживается компанией Canonical в течение пяти лет, до 31 мая 2029 года, с целью обеспечения безопасности. Оба варианта установки относятся к одному семейству релизов Ubuntu и могут использовать одни и те же репозитории Ubuntu. Существенное различие заключается в том, что устанавливается по умолчанию, а не в разных оптимизированных по производительности операционных системах. В архиве пакетов Canonical описывается ubuntu-server-minimal«минимальная система Ubuntu Server», в то время как ubuntu-serverметапакет включает более широкий набор инструментов администрирования сервера и рекомендуемых пакетов. См. официальное определение минимального пакета Ubuntu Server , определение пакета Ubuntu Server и примечания к выпуску Ubuntu 24.04 LTS .
Иллюстративный сравнительный просмотр терминала Ubuntu Server 24.04 Minimal и Standard. Значения памяти на экране являются иллюстративными и не отражают результаты бенчмарков; используйте приведенные ниже команды для измерения производительности вашей системы.
Минимальный против стандартного: что именно меняется?
Минимальный вариант лучше всего понимать как более компактную отправную точку. Он устанавливает основную серверную платформу и исключает часть вспомогательного программного обеспечения, которое может ожидать администратор сервера общего назначения. Стандартный метапакет сервера включает в себя дополнительные инструменты, такие как мультиплексоры терминалов, редакторы, утилиты для устранения неполадок, вспомогательные средства для управления репозиториями и другие пакеты, полезные для интерактивного администрирования.
Область
Минимальная установка
Стандартная установка сервера
Основной релиз Ubuntu
Ubuntu 24.04 LTS
Ubuntu 24.04 LTS
Ядро и репозитории
Доступ к тому же семейству релизов и архиву.
Доступ к тому же семейству релизов и архиву.
Программное обеспечение по умолчанию
Меньший набор необходимых вещей
Более широкий набор ориентированных на администрирование элементов
Объем занимаемого диском пространства
Обычно ниже при новой установке.
Обычно цена выше, потому что в упаковке больше товаров.
простаивающие службы и память
Может быть ниже в зависимости от установленных и включенных служб.
Может быть выше в зависимости от включенных служб.
пропускная способность приложения
По своей сути, не становится быстрее после согласования рабочих нагрузок и сервисов.
Зачастую скорость работы не снижается после согласования рабочих нагрузок и предоставляемых услуг.
Ежедневное администрирование
Возможно, вам потребуется установить недостающие инструменты.
Больше полезных функций готовы к использованию сразу после установки.
Компания Canonical также описывает минимальные облачные образы Ubuntu как намеренно уменьшенные образы, в которых отсутствуют несущественные пакеты, а в некоторых случаях и рекомендуемые. Canonical утверждает, что эти образы развертываются, подготавливаются и загружаются быстрее, чем более крупные базовые образы. Это утверждение об облачных образах подтверждает общий механизм — меньшее количество программного обеспечения означает меньший объем передачи, установки и инициализации, — но его не следует воспринимать как универсальный показатель производительности установщика ISO-образов Ubuntu Server. Документация по облачным образам доступна по адресу Ubuntu base and minimal images .
Почему показатели эффективности так сильно различаются?
Сравнение производительности часто включает в себя три разных вопроса. Первый — это занимаемое пространство: сколько пакетов, сколько дискового пространства и сколько памяти потребляется до развертывания рабочей нагрузки? Второй — это накладные расходы при запуске: сколько времени тратится на активацию служб во время загрузки? Третий — это производительность рабочей нагрузки: количество запросов в секунду, транзакции базы данных, время компиляции, скорость сжатия или другие показатели приложения.
Минимальная конфигурация, скорее всего, покажет явное преимущество в первой категории. Она также может улучшить показатели во второй, если стандартная система имеет дополнительные включенные службы. Третья категория обычно гораздо менее драматична. Если обе машины работают с одним и тем же ядром, одной и той же версией приложения, одной и той же базой данных, одним и тем же набором служб, а также одинаковой конфигурацией процессора и хранилища, приложение часто не видит причин вести себя по-разному. Веб-сервер не становится быстрее только потому tmux, что vimотсутствует пакет для устранения неполадок.
Именно поэтому к фиксированным цифрам, таким как «Минимальный режим использует на 40% меньше оперативной памяти» или «Минимальный режим на 15% быстрее», следует относиться с осторожностью, если автор не публикует точную версию Ubuntu, состояние пакетов, платформу виртуализации, оборудование, список служб и метод тестирования. Canonical не публикует одну универсальную таблицу производительности «Минимальный режим против стандартного» для каждой установки Ubuntu Server 24.04, поэтому эта статья не создает такую таблицу.
Результаты тестирования Ubuntu Server 24.04 оказались довольно хорошими.
Наиболее полезным будет сравнение, которое вы можете воспроизвести на собственном оборудовании или в облачном экземпляре. Начните с двух чистых установок на идентичных ресурсах. Используйте один и тот же релиз Ubuntu 24.04, количество процессоров, объем выделенной оперативной памяти, тип виртуального диска, файловую систему, режим прошивки, сетевую модель и хост виртуализации. Примените одинаковые обновления перед проведением измерений.
1. Запишите количество упаковок и установленный размер.
Подсчитайте количество установленных пакетов с помощью:
dpkg-query -f '${binary:Package}
' -W | wc -l
Затем проверьте использование диска:
df -h /
sudo du -xsh /usr /var 2>/dev/null
Это измерения потребления ресурсов, а не скорости работы приложений. Выполните их сразу после одного и того же цикла обновления на обеих системах.
2. Сравните неиспользуемую память, не путая кэш с неэффективно используемой памятью.
Используйте free -h, но сосредоточьтесь на availableстолбце, а не на предположении, что каждый кэшированный мегабайт навсегда израсходован. Linux намеренно использует обычно неактивную оперативную память для кэширования файловой системы. Также запишите активные службы, чтобы вы могли объяснить любые различия:
Если Minimal экономит память за счет отсутствия трех служб, это полезный результат. Если вы позже установите и включите те же службы, ожидайте, что разница сократится.
3. Измерьте время загрузки, затем определите причину.
Systemd включает в себя встроенные инструменты для измерения времени выполнения:
Выполните несколько загрузок, отбросьте очевидные выбросы и сравните медианные значения, а не результаты одного запуска. Время загрузки виртуальной машины может зависеть от гипервизора, инициализации облака, задержки хранилища, DHCP, прошивки и фоновой нагрузки хоста, поэтому один образец является слабым доказательством.
4. Проверьте, какая работа действительно важна для вас.
Если на сервере будут работать Nginx, PostgreSQL, Redis, Docker, Java-сервис или Python API, проведите тестирование производительности этой нагрузки после того, как программный стек будет идентичным. Ключевой тест заключается не в том, «какая новая ОС легче?», а в том, «изменит ли более легкая базовая версия мою рабочую нагрузку после того, как обе машины будут содержать все необходимое для этой нагрузки?».
Для тестирования, ограничивающего производительность процессора, используйте один и тот же бинарный файл бенчмарка и его версию на обеих машинах. Для тестирования хранилища данных сохраняйте идентичные файловую систему, параметры монтирования, контроллер виртуального диска, настройки очереди и политику кэширования. Для сетевых тестов убедитесь, что обе виртуальные машины используют один и тот же путь, и не запускайте бенчмарки одновременно, если они будут конкурировать за одни и те же физические ресурсы хоста.
Какого изменения в производительности следует ожидать?
На небольших VPS, контейнерных серверах, развертывании на аппаратных платформах или автоматизированном парке систем минимализм имеет практическое преимущество, поскольку каждый ненужный пакет потребляет определенное количество места на диске, пропускной способности для обновлений, усложняет инвентаризацию или требует административного внимания. Меньший размер исходного образа также может сократить время подготовки, когда образы необходимо многократно передавать или расширять.
На сервере общего назначения, обслуживаемом людьми в интерактивном режиме, стандартная установка может быть более выгодным компромиссом. Дополнительные инструменты могут сэкономить время при устранении неполадок, а затраты ресурсов на несколько неактивных утилит командной строки часто незначительны по сравнению с буферным пулом базы данных, кучей JVM, рабочей нагрузкой контейнеров или файловым кэшем. Удаление пакетов, которые никогда не запускаются, не освобождает волшебным образом ресурсы ЦП.
Стандартный набор пакетов также не является фиксированным определением «раздутости». Canonical может изменять зависимости пакетов и рекомендации посредством обновлений, и администраторы обычно настраивают обе установки. Два сервера, изначально работавшие по-разному, со временем могут сблизиться по мере добавления или удаления пакетов.
Минимальный уровень поддержки не означает её сокращение.
Распространенное опасение заключается в том, что выбор минимального образа каким-то образом приводит к менее поддерживаемой операционной системе. В документации Canonical по облачным решениям для минимального образа Ubuntu указано, что минимальные образы сохраняют доступ к архиву Ubuntu и ту же модель обслуживания безопасности, что и базовые образы. Сам Ubuntu Server 24.04 LTS по-прежнему подпадает под стандартный цикл обслуживания безопасности. В основном вы теряете удобство предустановленных компонентов, а не доступ к обычной экосистеме пакетов.
Если минимальная среда слишком скудна для интерактивного администрирования, Canonical предоставляет утилиту unminimizeдля минимальных образов Ubuntu. Она восстанавливает документацию и переводы, а также устанавливает дополнительные пакеты, предназначенные для того, чтобы сделать среду более удобной для использования человеком. Canonical описывает команду в той же документации к минимальной Ubuntu . Однако не следует предполагать, что запуск этой команды unminimizeобеспечит побайтовое совпадение с каждой возможной стандартной установкой сервера; установленные пакеты также зависят от типа образа, выбора установщика, архитектуры и обновлений.
Какой из них вам следует выбрать?
Выбирайте Minimal, если вам нужна контролируемая, воспроизводимая база, и вы уже точно знаете, какие пакеты необходимы для вашего развертывания. Он особенно привлекателен для автоматизированного выделения ресурсов, эталонных образов, рабочих процессов CI, хостов контейнеров, периферийных устройств и небольших виртуальных машин, где важен запас дискового пространства или памяти.
Выбирайте стандартную версию, когда удобство администратора важнее, чем оптимизация базовых параметров. Зачастую это более простой вариант для серверов с ручным управлением, лабораторных систем, сред с интенсивным поиском и устранением неисправностей или машин, объем используемых приложений на которых значительно превышает затраты на операционную систему.
Если ваше решение основано исключительно на пропускной способности, не выбирайте, основываясь на общем процентном показателе с чужой машины. Установите оба варианта на идентичные тестовые экземпляры, нормализуйте стек приложений и измерьте реальную рабочую нагрузку.
Как проверить свой результат
Прежде чем объявить победителя, проверьте пять вещей: обе машины работают на одной и той же версии Ubuntu 24.04 с одним и тем же ядром; обе получили одинаковые обновления; параметры ЦП, ОЗУ, диска, файловой системы и виртуализации совпадают; списки запущенных служб зафиксированы; и тесты производительности приложений повторяются достаточное количество раз, чтобы выявить погрешности. Сохраните список пакетов и команды тестов вместе с результатами, чтобы тест можно было воспроизвести позже.
Хороший вывод обычно разделяет занимаемое пространство и пропускную способность. Например: «В этой среде Minimal использовал меньше установленных пакетов и меньше дискового пространства, в то время как результаты теста производительности приложения находились в пределах нормы при одинаковой конфигурации обеих систем». Это полезнее, чем утверждать, что одна установка повсеместно работает быстрее.
Для Ubuntu Server 24.04 минимальная версия — это более компактный вариант для начала работы; стандартная версия — более удобный вариант. Преимущество в производительности наиболее оправдано с точки зрения занимаемого объема памяти и накладных расходов на выделение ресурсов. Вопрос о том, повлияет ли это на скорость работы в производственной среде, должен решаться вашей собственной рабочей нагрузкой, а не меткой установщика.