LINUX.ORG.RU

Работа DNF/RPM в Fedora 34 будет ускорена

 , , ,


0

1

Одним из изменений, планирующихся в Fedora 34, будет использование dnf-plugin-cow, ускоряющего работу DNF/RPM за счёт техники Copy on Write (CoW), реализуемой поверх файловой системы Btrfs.

Сравнение текущего и будущего методов установки/обновления RPM пакетов в Fedora.

Текущий метод:

  • Разложить запрос установки/обновления на список пакетов и действий.
  • Скачать и проверить целостность новых пакетов.
  • Последовательно установить/обновить пакеты используя RPM файлы, декомпрессию и запись новых файлов на диск.

Будущий метод:

  • Разложить запрос установки/обновления на список пакетов и действий.
  • Скачать и одновременно разархивировать пакеты в локально оптимизированный RPM файл.
  • Последовательно установить/обновить пакеты используя RPM файлы и связывание ссылок (reflinking) для переиспользования данных, уже находящихся на диске.

Для реализации связывания ссылок используется ioctl_ficlonerange(2)

Ожидаемое увеличение производительности - на 50%. Более точные данные появятся в январе.

>>> Подробности



Проверено: Shaman007 ()

Что толку от этого ускорения, если dnf скачивает 100 мегабайт методанных репозитория по 5-10 минут?

У меня при хорошем канале эти 100 метров качаются дольше чем обновление на 1 гиг после чистой установки.

anonymous ()
Ответ на: комментарий от anonymous

Я кстати все ленился погуглить - а есть у dnf install ключик чтоб НЕ качать мету?
С одной стороны он вроде не так и часто ее выкачивает, с другой стороны как то привычней когда update и install это разные Команды :-)

rukez ★★★★ ()
Ответ на: комментарий от rukez

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

anonymous ()

Я давно не работал с RHEL/Fedora: RHCE сдавал ещё по RHEL 5, на моём старом сервере CentOS 6, федору ваще не помню, когда последний раз видел, но точно до появления dnf.

Неужели dnf тормознее yum? Вроде же наоборот, с уходом от yum обещали ускорение, блэкджек и гей-шлюх каждому админу.

BackDoorLover ()

ускоряющего работу DNF

о нет, опять этот мексиканский сериал «yum не тормозит и не глючит». теперь второй сезон «dnf...»

crypt ★★★★★ ()
Ответ на: комментарий от crypt

Им нужно что-то придумать с метаданными репозитория. Скачивать их небольшими дельтами (суточными, часовым…). Сама же установка пакетов не такая долгая как некоторые пишут.

anonymous ()
Ответ на: комментарий от anonymous

Что толку от этого ускорения, если dnf скачивает 100 мегабайт методанных репозитория по 5-10 минут?

У меня при хорошем канале эти 100 метров качаются дольше чем обновление на 1 гиг после чистой установки.

Не 100 магабайт и не по 5 - 10 минут. Зачем ты врёшь?

$ time sudo dnf update --refresh
Fedora 33 openh264 (From Cisco) - x86_64                  1.6 kB/s | 989  B     00:00    
Fedora Modular 33 - x86_64                                 33 kB/s |  24 kB     00:00    
Fedora Modular 33 - x86_64 - Updates                       35 kB/s |  23 kB     00:00    
Fedora 33 - x86_64 - Updates                               32 kB/s |  21 kB     00:00    
Fedora 33 - x86_64                                         37 kB/s |  25 kB     00:00    
RPM Fusion for Fedora 33 - Free tainted                   8.1 kB/s | 2.3 kB     00:00    
RPM Fusion for Fedora 33 - Free - Updates                 9.4 kB/s | 2.2 kB     00:00    
RPM Fusion for Fedora 33 - Free                            10 kB/s | 2.4 kB     00:00    
RPM Fusion for Fedora 33 - Nonfree tainted                 32 kB/s |  11 kB     00:00    
RPM Fusion for Fedora 33 - Nonfree - Updates               38 kB/s |  10 kB     00:00    
RPM Fusion for Fedora 33 - Nonfree                         38 kB/s |  11 kB     00:00    
Dependencies resolved.
Nothing to do.
Complete!

real	0m14.305s
user	0m8.615s
sys	0m0.486s
hummer ()
Ответ на: комментарий от hummer

Завтра утром установлю свежую Fedora и сюда результат опубликую. Сам убидишься, мне нет смысла врать.

anonymous ()
Ответ на: комментарий от anonymous

У меня у самого свежая Fedora и именно в ней я эти результаты и получил.

hummer ()
Ответ на: комментарий от Korchevatel

Это не намерения, а уже реализованная функциональность.

How to test

Enable RPM with CoW with

$ sudo dnf install dnf-plugin-cow
hummer ()
Ответ на: комментарий от BackDoorLover

Неужели dnf тормознее yum?

Если они не выкинули всю срань с system()/popen(), то с большой вероятностью да.

anonymous ()
Ответ на: комментарий от anonymous

Что толку от этого ускорения

а вот это правильный вопрос, что толку от всего этого ынтырпрайза, если на выходе получается неповоротливый монстр. и ладно бы, если бы всё решалось простым увеличением мощностей, ресурсов, шириной канала. если бы всё было так просто! но нет, эти программы любят повисеть просто так, без очевидной работы.

Spoofing ★★★★★ ()
Ответ на: комментарий от Spoofing

А я не понимаю, кому какое дело, апдейт длится 8 минут, или 10. На серверах maintenance window планируют заранее, а на десктопе ваще насрать.

BackDoorLover ()

Зачем учить его не срать в профиль пользователю, если тот сделал dnf search, а искать по системному кешу, или дерево зависимостей строить быстрее к установке, мы ускорять будем раскладывание файлов по диску для одной конкретной FS.

И да, когда ускорят - тогда и пишите.

mogwai ★★★★ ()

разархивировать пакеты в локально оптимизированный RPM файл.

эта пять.
прямо как гента, но только в которой бинарники сначала дизасемблируют.

darkenshvein ★★★★★ ()

Насколько понимаю толку от btrfs есть только на SSD. Есть ли истории успеха использования на жёстких дисках? Как COW поживает на них? Фрагментация должна быть огромная.

Artamudo ★★★ ()
Ответ на: комментарий от Reset

Вангую fs corruption и прочие ужасы при обновлении системы.

С какого перепуга? Они на таком низком уровне не работают, почитай про ioctl_ficlonerange(2) по ссылке в новости.

hummer ()
Ответ на: комментарий от hummer

Ах да, есть такая беда в дистрах из прошлого века. Ну ничего, скопируют пяток килобайт, у них все равно обработка конфигурационных файлов уже через задницу.

t184256 ★★★★★ ()
Ответ на: комментарий от Reset

Маловероятно. Btrfs существует уже достаточно давно, считается стабильной с 2013 года и плотно используется «кровавым энтерпрайзом». Ошибка в передаче офсетов в DNF так же маловероятна, поскольку они будут внутри локального RPM, построенного самим же DNF.

hummer ()
Ответ на: комментарий от anonymous

Что толку от этого ускорения, если dnf скачивает 100 мегабайт методанных репозитория по 5-10 минут?

Во-первых, не 100 Мб.

Во-вторых, мсье никогда не обновлялся с локальной сети? Мсье много пропустил!

anonymous ()
Ответ на: комментарий от hummer

Свято место пусто не бывает. На место Red Hat придёт Black Nose. Ваш Ко.

anonymous ()
Ответ на: комментарий от anonymous

Мсье может иметь один ноутбук и телефон для раздачи интернета, а может иметь парк компьютеров из 5 штук и ройтер, который раздаёт им интернет. Нужно определится.

Если один ноутбук в связке с телефоном, который раздаёт интернет, то что? Какое тут локальное зеркало или что ты имеешь ввиду под словами «не обновлялся с локальной сети»?

anonymous ()

После того, что Red Hat устроила пользователям CentOS, я бы вообще советовал им не доверять. Разве мало других достойных дистрибутивов?

Rinaldus ★★★★★ ()
Ответ на: комментарий от Rinaldus

Ты про платную Зузе? Платную убунту? Платный Оракл?

С таким успехом лучше покупать WinServer2019

anonymous ()

Заманивают людей тестировать btrfs.

vold ★★★★★ ()
Ответ на: комментарий от Rinaldus

Достойные Red Hat, CentOS, Fedora, Debian, Ubuntu. Из них только Red Hat и Canonical поддержку за деньжку предлогают, поэтому выбора нет.

anonymous ()
Ответ на: комментарий от Reset

в том-то и дело. на общем фоне ошибок в федоре это не будет играть роли. подумаешь, еще у кого-то система не сможет обновиться.

crypt ★★★★★ ()
Ответ на: комментарий от hummer

Иными словами это коснется только новичков, люди юзающие годами Федору ее просто обновляют без заморочек с полной перестановкой.

mx__ ★★★★★ ()
Ответ на: комментарий от anonymous

В каком месте Ubuntu платная? Это для тех недоучек, которые ее не освоили и собираются платить за техподдержку? Ну ок, платите, богатенькие буратины, для остальных 95% аудитории она бесплатная.

Rinaldus ★★★★★ ()
Ответ на: комментарий от anonymous

Еще раз повторяю, платная техподдержка не нужна. Достаточно лишь содержать нормального сисадмина, который полюбому обойдется дешевле, чем платная техподдержка. И вообще, позор заявлять на профильном сайте о том, что вам какая-то платная поддержка нужна. Это чистый ламеризм, постыдились бы.

Rinaldus ★★★★★ ()
Последнее исправление: Rinaldus (всего исправлений: 1 )
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.