Сравнение мужей: Systemd vs Upstart

Алексей Федорчук

Когда речь заходит о systemd, сторонники этого менеджера инициализации говорят о массе его преимуществ по сравнению и с древним sysvinit, и с upstart, разработанным для Ubuntu.

Многие из этих преимуществ выглядят субъективными. Например, логичность внутреннего устройства системы: логика, как известно, бывает разная, как минимум, аристотелева, неаристотелева и женская. Другие, скажем, контроль над выполнением фоновых процессов, обычно не могут быть оценены конечным пользователем (да и не очень его волнуют). Третьи же, такие, как управление службами, в systemd если и имеют преимущества по сравнению с аналогами из sysvinit и upstart, то только в «многобуквии» (см., например, сравнительную таблицу) и более ином синтаксисе. В чём следует видеть неустанную заботу о пользователе, дабы он не разучился читать (новую документацию) и писать (точнее, набирать на клавиатуре).

Так что фактически остаётся единственный момент для сравнения, поддающийся количественной оценке — скорость загрузки системы. Все резонные люди понимают, что

  1. момент этот несущественный (нормальная UNIX-машина загружается много если раз в сутки), и
  2. не имеет никакого отношения к скорости выполнения реальных задач.

Тем не менее, сторонники systemd постоянно козыряют этим преимуществом. Провоцируя своих оппонентов на очередные фаллометрические тесты.

Отдал дань фаллометрическому движению и автор этих строк, сначала в виде отрывочных наблюдений за скоростью загрузки, а затем и целенарправленного сравнения оной в дистрибутиве openSUSE, благо он вплоть до версии 12.2 включительно позволял безболезненно переключаться между systemd и sysvinit перед инициализацией системы. Результаты оказались, мягко говоря, несколько не соответствующими заявлениям о бесспорном преимуществе systemd над sysvinit (столь многочисленным, что от ссылок воздержусь и предлагаю воспользоваться поиском).

По установке Ubuntu появилось желание продолжить фаллометрические состязания — уже в сравнении systemd с upstart, в качестве одного из преимуществ которой также декларируется несравненная скорость загрузки. С этой целью были использованы два идентичных накопителя SSD SanDisk Extreme 120 GB http://posix.ru/?p=316. На первом была установлена openSUSE 12.3 с systemd (в этой версии возможность простого переключения на sysvinit ликвидирована), на втором — Ubuntu 13.04 с upstart. В обоих случаях использовалась файловая система ext4. Никаких оптимизаций загрузки ни в той, ни в другой системах не проводилось — загружались службы, предусмотренные при первичной инсталляции.

Усреднённые результаты по десяти замерам времени от нажатия Enter в меню GRUB до приглашения к авторизации (в KDM и LightDM для openSUSE и Ubuntu, соответственно) для каждой из систем следующие:

openSUSE с systemd — 7 секунд;
Ubuntu с upstart — 8 секунд.

В процентном отношении выигрыш systemd по отноешнию к upstart cсоставляет внушительные 14%. Однако не будем забывать, во-первых, о том, что в абсолютных цифрах речь идёт об 1 (одной!) секунде. Во-вторых, процедура POST на моей машине занимает 18 секунд, на фоне которых та самая секунда выигрыша просто теряется.

Самое же главное — в-третьих: после авторизации и последующей загрузки среды Ubuntu полностью готова к работе. На примере Xubuntu, где штатно предусмотрено сохранение сеанса (в Ubuntu это надо прикручивать, чего я ещё не сделал), можно видеть, что внешний винчестер с USB-интерфейсом смонтирован, а в браузере открыты все интернет-страницы из прошлого сеанса. В openSUSE же для монтирования внешнего винта требуется щёлчок на его имени в файловом менеджере (хотя опция автоматического монтирования сменных накопителей установлена). А браузер даёт ошибку загрузки страниц.

То есть скорость загрузки системы при использовании systemd — кажущаяся: приглашение к авторизации появлятся до старта всех используемых служб, подобно тому, как это делается в Windows. Казалось бы, ничего страшного? Однако на практике это выливается в ряд мелких, но очень раздражающих неудобств: необходимости повторной загрузки документов, открытых с внешнего винчестера в текстовом редакторе, ручном восставновлении torrent-сессии, обновлении страниц в браузере, а иногда и его перезапуске. Вероятно, systemd как-то можно настроить, чтобы избежать такого безобразия, но upstart ни в какой настройке не нуждается (как, к слову сказать, и sysvinit). Да и абсолютное время загрузки при этом, видимо, будет иным…

Любопытства ради я померял и время загрузки Xubuntu, которая установлена у меня на традиционном винчестере (Seagate Barracuda, 500 ГБ, 7200 об./мин.). Оно составило 11 секунд, то есть примерно в полтора раза больше, чем старт системы с SSD, вне зависимости от схемы инициализации. То есть основной выигрыш в скорости загрузки обеспечивается вовсе не последней, а исключительно «железом». Что, собственно, было ясно из общих соображений (товарищ майор, поздравляем вас с присвоением очередного звания).

Сравнение мужей: Systemd vs Upstart: 14 комментариев

  1. Много буков о том, чему приверженцы systemd внимание не уделяют вообще. Да, скорость загрузки — хорошая штука, но ценность systemd именно в стройной логике его устройства. Чему в заметке уделено одно маленькое предложеньице, больше похоже на издевательскую демагогию.

    Вывод: ценность заметки нулевая.

  2. Например, fedora, точнее RFRemix 16-17 у меня на работе и дома упорно грузилась дольше других дистрибутивов из них ALTLinux в котором тогда ещё systemd не прикрутили в принципе и ubuntu без него.
    Так что про скорость загрузки сколько читаю, столько не могу понять о чем это…

  3. гражданин анонизмус, что делать, если заметка посвящена предмету, ценность которого равно величине отрицательной

  4. Алексей, чего тут понимать — просто развлекуха такаяАлексей

  5. > гражданин анонизмус, что делать, если заметка посвящена предмету, ценность которого равно величине отрицательной

    Отрицательная величина ценности предмета обсуждения выведена из чего? Из домыслов, непонимания цели проекта и личной неприязни к нему? В таком случае, ценность вашего сайта тоже равна нулю, потому что я не нашел на нем самоучителей по вязанию и рецензии на последний альбом Стаса Михайлова. Представляете — захотелось мне тут повязать, запускаю браузер, набираю alv.me, ищу, ищу, все статьи обошел — и не нашел. Расстроился, закрыл браузер, выключил комп. Вязать расхотелось. Зачем ваш сайт существует, расходует электроэнергию серверов почем зря?

    Надеюсь, моя аналогия понятна?

  6. Вас в яндексе забанили и гугл у Вас сломался, что Вы не можете найти курсов вязания?

  7. Аналогично — прежде чем ругать systemd, стоит погуглить, для чего он создавался. В особенности советую статью про развенчивание мифов о systemd от Поттеринга. Где черным по белому написано, что скорость загрузки системы с systemd — приятный побочный эффект, но она даже в основных целях не стоит. А вы этому столько времени уделили, да еще сделали выводы о нужности systemd как такового… Да еще стольких новичков, которые натолкнутся на вашу статью введете в заблуждение.

    Прочитайте статью, поймите для чего создавался systemd и проведите еще одно тестирование. А то, что вы написали сейчас — это http://apikabu.ru/img_n/2011-08_2/0d3f84.jpg , именно оно.

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

  9. > для чего создавался ваши systemd, очевидно.

    > Из домыслов, непонимания цели проекта и личной неприязни к нему?

    Ну-ну. И кстати, насчет двигателей. На современных двигателях далеко не улетишь, в разработке принципиально их новые типы, построенные на атомной энергии. Так что да, в этом вы правы.

  10. из элементарной логики и некоторого жизненного опыта
    на раьотающем керосиновом движке ехать можно
    на постоянно перестраиваемом термоядерном двигателе нельзя

    PS и вообще, чего это я с анонизмусом почти всерьёз дискутирую? Пора послать его на всем известный сайт, некогда Лео Каганова.

  11. смени заголовок на правильный «сравнение openSUSE и Ubuntu».

    > приглашение к авторизации появлятся до старта всех используемых служб, подобно тому, как это делается в Windows. Казалось бы, ничего страшного? Однако на практике это выливается в ряд мелких, но очень раздражающих неудобств: необходимости повторной загрузки документов, открытых с внешнего винчестера в текстовом редакторе, ручном восставновлении torrent-сессии, обновлении страниц в браузере, а иногда и его перезапуске.

    лучи поноса мейнтейнерам openSUSE, у меня рабочий стол уже с поднятой сетью и всеми сервисами.

  12. 2 Valdos Nevermind Sine
    Юноша, когда мне понадобится Ваш совет по выбору заголовка — я его спрошу. А пока…

  13. > момент этот несущественный (нормальная UNIX-машина загружается много если раз в сутки), и

    Позволю себе с вами не согласиться. Ноутбуки — пример нормальной UNIX-машины (портативной), которую может оказаться необходимость запускать куда чаще, чем раз в сутки. Да, есть спящий режим, и я им пользуюсь, но всё-таки. К слову, на некоторых ноутбуках этот спящий режим может глючить :( так что надёжнее вкл/выкл.

  14. 2 battlecoder этот аргумент я слышу лет 20 — называется аргументом коммивожера, продающего дамские корсеты
    да вот только не помогает ему ускорение загрузки…

Обсуждение закрыто.