KnigaRead.com/

Алексей Федорчук - Священные войны мира FOSS

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Алексей Федорчук, "Священные войны мира FOSS" бесплатно, без регистрации.
Перейти на страницу:

Что же до стиля Поттеринга... Да, он неслабый пропагандист и агитатор. Прекрасно владеющий любимым приёмом всех гипермодернистов и революционеров – наклеиванием ярлыков на оппонента, типа:

Ах, какой он пошляк, Ах, как он неразвит! Современности вовсе не видно! А.К.Толстой

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

О пузометрии

Ноябрь 19, 2012

С самого появления менеджера инициализации, именуемого systemd, он был окружён множеством легенд.  Из которых самая известная – легенда о фантастической скорости загрузки машины, которую он обеспечивает. Она же – самая устойчивая: похоже, развеять её ничуть не проще, нежели Чёрную легенду о Ричарде Третьем...

Давеча на Unixforum'е развернулся очередной виток обсуждения этой легенды. Пардон, с подачи автора этих строк, который никогда не упустит случая посмеяться над тем, что кажется ему смешным. Ну и, разумеется, в ход пошли всё те же аргументы о распараллеливании процессов при загрузке и механизме cgroups для их отслеживания. Влекущими за собой всё ту же скорость загрузки.

Так что для начала пара цитат из постов serzh-z'а. Первая из них:

15 лет назад речь не шла о 2-х (двух) секундах, с момента передачи управления ядру и отображения менеджера GUI

Не могу с этим не согласиться – даже и пять лет назад это было трудно себе представить. Но ведь главная доля заслуги тут –  сочетания интерфейса SATA-III, накопителей SSD и синхронной памяти в них. На фоне чего различия времени загрузки при любых схемах инициализации просто теряют физический смысл.

Однако  serzh-z с этим не согласен:

Системе инициализации на bash и с initrd – 2 секунды не светят.

В ответ на что я предположил, что при отключении сети на моей системе получится нечто подобное – с давних пор изрядное время при загрузке у меня уходит на поиск DHCP сервера и синхронизацию времени с сервером NTP.

Я, конечно, ничего не понимаю в  и прочих systemd'овых штуковинах. Но привык доверять своим глазам и своему секундомеру. Да и измерить время загрузки  своей машины вполне в состоянии, руки пока не отваливаются. Тем более, что применяемая мной openSUSE (пока) даёт возможность прямого сравнения времени загрузки при использовании той или иной схемы инциализации.

Ранее я уже проводил такого рода измерения. И не откажу в удовольствии процитировать себя любимого:

измерения скорости загрузки с секундомером вообще показали интересную картину: при использовании systemd  openSUSE грузилась 55 секунд (это почти втрое дольше, чем Fedora 14 ещё без оного). А вот если переключиться на SysVinit — то время загрузки…падает до 46 секунд.

Предвижу возражение: те измерения проводились на ноутбуке с его медленным и отсталым традиционным винчестером. Да и systemd тогда, в феврале месяце текущего года, была ещё не той системы. А вот  на мощной системе с современным SSD накопителем современная же systemd покажет себя во всей красе.

Принимаю вызов. Благо openSUSE, позволяющая сравнение скорости загрузки, стоит у меня как раз на современных SSD накопителях, принадлежащих к числу самых быстрых из ныне имеющихся.

Итак, традиционно меряю время от выбора нужного пункта  в меню GRUB до появления приглашения к авторизации в KDM. Сначала при моём обычном наборе стартовых сервисов (то есть с network и всеми с ним сопряжёнными). Получаем:

   • при systemd – 10 секунд;

   • при SysV... 10 секунд.

Отключаю все сетевые службы и повторяю процедуру. Получаю:

   • при systemd – 10 секунд;

   • при SysV... 8 секунд.

Признаю, загнул в азарте, и при SysV двух секунд на загрузку действительно не светит. Но ведь их не засветило и при использовании systemd. Более того, если при SysV отключение «лишних» служб ведёт к сокращению времени загрузки (пусть и на жалкие 2 секунды), то sysyemd на это просто не реагирует.

Но это ещё не всё. После авторизации у меня грузится KDE с кучей постоянно применяемых мной приложений, в том числе FireFox и Rekonq, в каждом из которых открыто по несколько сайтов. Так вот, после загрузки с помощью SysV сайты эти всегда действительно открыты в соответствующих вкладках. При systemd же вместо этого я вижу сообщение об ошибке и предложение восстановить сеанс в обоих браузерах.

То есть получается, что systemd ведёт себя подобно Windows, которая сначала являет своему пользователю графический интерфейс, а потом втихаря подгружает всякие, в том числе и сетевые, службы. В преферансе за такое бьют канделябром...

А не ты ли, Лёха, скажете вы мне, всегда утверждал, что время загрузки – это такая мелочь, о которой смешно говорить?  И что к скорости реальной работы она не имеет никакого отношения. Признаю, утверждал, утверждаю и буду утверждать, пока не заделаюсь коммивояжером по продаже дамских корсетов. Но ведь скоростью загрузки, в числе прочих достоинств, козыряют как раз разработчики systemd. И если их утверждения относительно такой вещи, которую легко измерить и проверить, мягко говоря, не очень соответствуют действительности – какие у меня основания верить во все прочие несравненные достоинства systemd?

Правда, убедить в чём-то приверженцев этого менеджера инициализации ничуть не легче, чем читателя Шекспира – в том, что Ричард Третий...

... был славный малый. Храбрец, рубака, умер и истлел.

А вот причины этого явления заслуживают отдельного этнографического исследования.

О пузометрии: спустя почти полгода

Апрель 29, 2013

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

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

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

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

   2. не имеет никакого отношения к скорости выполнения реальных задач.

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

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

По установке Ubuntu появилось желание продолжить фаллометрические состязания – уже в сравнении systemd с upstart, в качестве одного из преимуществ которой также декларируется несравненная скорость загрузки. С этой целью были использованы два идентичных накопителя SSD SanDisk Extreme 120 GB. На первом была установлена 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 же для монтирования внешнего винта требуется щёлчок на его имени в файловом менеджере (хотя опция автоматического монтирования сменных накопителей установлена). А браузер даёт ошибку загрузки страниц.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*