RPM4 vs RPM5

Ответить
Аватара пользователя
alex_q_2000
Сообщения: 235
Зарегистрирован: 29 авг 2017, 10:16
Operating system: MgaRemix-9-Proserpina
Откуда: Богородск
Контактная информация:

RPM4 vs RPM5

Сообщение alex_q_2000 »

Добрый день, коллеги.
В свободное время занимаюсь программированием для Mageia Linux (хобби). В данный момент пишу программу-клинер, среди возможностей которой есть рекурсивный анализ зависимостей актуальных пакетов и сирот. В процессе адаптации для ОС ROSA R9 (обе архитектуры) возникли некоторые вопросы.

Напомню, что:
----------------------------
ROSA R9 - rpm5, urpmi7
Mageia 5(6) - rpm4, urpmi8

Замеры производились на VirtualBox 5.1.26r117224 в Windows 7 x64.

Ниже приведу результаты работы стандартных для Mageia и ROSA команд и время их выполнения:
---------------------------------------------------------------------------------------------
Ребилд базы данных RPM: rpm --rebuilddb - Mageia=5 сек - ROSA=4 мин. 45 сек
Поиск "правых" зависимостей пакета: urpmq --whatrequires libgcc1 - Mageia=7 сек - ROSA=1 мин. 48 сек.
Поиск "правых" зависимостей пакета: urpmq --whatrequires glibc - Mageia=7 сек - ROSA=5 мин.32 сек.

*правые зависимости, т.е. для каких пакетов нужен исследуемый пакет

Эти простейшие тесты показали, что RPM5 усредненно в 8-10 раз медленнее, чем RPM4.

Вопрос: С чем связаны такие временнЫе показатели работы RPM5 по отношению к RPM4?
Заранее благодарен за ответ...
trs
Сообщения: 1939
Зарегистрирован: 07 сен 2015, 16:08
Operating system: -

Re: RPM4 vs RPM5

Сообщение trs »

alex_q_2000 писал(а):*правые зависимости, т.е. для каких пакетов нужен исследуемый пакет
То есть количество "для каких пакетов" - не идентично?
Аватара пользователя
alex_q_2000
Сообщения: 235
Зарегистрирован: 29 авг 2017, 10:16
Operating system: MgaRemix-9-Proserpina
Откуда: Богородск
Контактная информация:

Re: RPM4 vs RPM5

Сообщение alex_q_2000 »

trs писал(а):
alex_q_2000 писал(а):*правые зависимости, т.е. для каких пакетов нужен исследуемый пакет
То есть количество "для каких пакетов" - не идентично?
Это условности, чтобы сэкономить время понимания: левые - те, которые требуются данному пакету, правые - те, для которых требуется данный пакет. По существу вопроса что-нибудь не хотите добавить? :)
trs
Сообщения: 1939
Зарегистрирован: 07 сен 2015, 16:08
Operating system: -

Re: RPM4 vs RPM5

Сообщение trs »

Если время обработки данных (в частности базы) от их размера не зависит, то по существу такого положения дел мне сказать нечего.
Аватара пользователя
alex_q_2000
Сообщения: 235
Зарегистрирован: 29 авг 2017, 10:16
Operating system: MgaRemix-9-Proserpina
Откуда: Богородск
Контактная информация:

Re: RPM4 vs RPM5

Сообщение alex_q_2000 »

Справедливо, trs. Тестовыми были официальные live-сборки, без дополнительного софта.
notauser
Сообщения: 1255
Зарегистрирован: 06 май 2012, 21:00

Re: RPM4 vs RPM5

Сообщение notauser »

Код: Выделить всё

urpmq --whatrequires libgcc1 | wc -l
и сравнить. Для начала.
Аватара пользователя
alex_q_2000
Сообщения: 235
Зарегистрирован: 29 авг 2017, 10:16
Operating system: MgaRemix-9-Proserpina
Откуда: Богородск
Контактная информация:

Re: RPM4 vs RPM5

Сообщение alex_q_2000 »

notauser писал(а):

Код: Выделить всё

urpmq --whatrequires libgcc1 | wc -l
и сравнить. Для начала.
ROSA - 4610
Mageia - 3042

Господа, кажется я понял в чём дело, но не пойму, почему именно есть такая привязка в ROSA. Скорость обработки этих запросов зависит от прав, с которыми они выполняются. Под обычным юзером скорость у ROSA и у Mageia - примерно одинаковы (быстро). Если смотреть под рутом (ROSA), скорость снижается в разы! Это какая-то фишка ОС? :)
keleg
Сообщения: 5545
Зарегистрирован: 15 сен 2011, 01:58

Re: RPM4 vs RPM5

Сообщение keleg »

alex_q_2000 писал(а):
notauser писал(а):

Код: Выделить всё

urpmq --whatrequires libgcc1 | wc -l
и сравнить. Для начала.
ROSA - 4610
Mageia - 3042

Господа, кажется я понял в чём дело, но не пойму, почему именно есть такая привязка в ROSA. Скорость обработки этих запросов зависит от прав, с которыми они выполняются. Под обычным юзером скорость у ROSA и у Mageia - примерно одинаковы (быстро). Если смотреть под рутом (ROSA), скорость снижается в разы! Это какая-то фишка ОС? :)
под рутом или под sudo?
Аватара пользователя
Галахов Роман
Сообщения: 2356
Зарегистрирован: 26 фев 2012, 20:02
Operating system: Rosa R12.1 Fresh Plasma (HIPER SLIM)
Откуда: Моск. обл. Волоколамск

Re: RPM4 vs RPM5

Сообщение Галахов Роман »

alex_q_2000 писал(а): ROSA - 4610
Mageia - 3042

Господа, кажется я понял в чём дело, но не пойму, почему именно есть такая привязка в ROSA. Скорость обработки этих запросов зависит от прав, с которыми они выполняются. Под обычным юзером скорость у ROSA и у Mageia - примерно одинаковы (быстро). Если смотреть под рутом (ROSA), скорость снижается в разы! Это какая-то фишка ОС? :)
Тут еще не известно: это фишка ОС ROSA или особенность RPM5... А для того, чтобы узнать точно ответ на этот вопрос, нужно протестировать данную операцию, на других ос которые используют RPM5 http://wiki.rosalab.ru/ru/index.php/RPM5 Хотя бы на одной из них, чтобы оценить скорость работы RPM5 в сравнении с ROSA Fresh...
Вот цитата из темы про RPM5 на unixforum
Вопреки распространенному мнению, версия RPM5 используется далеко не только в Mandriva/ROSA Linux. Сначала она нашла применение у разработчиков Unity Linux, потом – в дистрибутивах Wind River Linux и Ark Linux, проектах OpenPKG, CAOS Linux и OpenEmbedded.
Rosa 2021.1 Fresh HIPER SLIM
Аватара пользователя
alex_q_2000
Сообщения: 235
Зарегистрирован: 29 авг 2017, 10:16
Operating system: MgaRemix-9-Proserpina
Откуда: Богородск
Контактная информация:

Re: RPM4 vs RPM5

Сообщение alex_q_2000 »

Здравствуйте, Роман. Вы абсолютно правы.

Напомню, что в тестах идёт сравнение времени исполнения запросов:
---------------------------------------------------------------------------------------------
urpmq --whatrequires glibc
urpmq --whatrequires libgcc1

Результаты тестирования:
------------------------------------
Mandriva-linux-PWP-2011-i586 (rpm-5.3.13-0.20110712.2-mdv2011.0.i586) - работает отлично и под рутом и под юзером
OpenMandrivaLx.3.02-PLASMA.x86_64 (rpm-5.4.15-40-omv2015.0.x86_64.rpm) - тормозит под рутом
ROSA.FRESH.LXQT.R9.i586 (rpm-5.4.10-74-rosa2016.1.i586) - тормозит под рутом
MagOS_2014red_20170721 (rpm-5.4.10-68-rosa2014.1.i586) - тормозит под рутом

Из тестов видно, что торможение обработки запроса под рутом - это "особенность" OpenMandrivaLx и как результат, - её "адептов".

С уважением,
Алексей
Аватара пользователя
alex_q_2000
Сообщения: 235
Зарегистрирован: 29 авг 2017, 10:16
Operating system: MgaRemix-9-Proserpina
Откуда: Богородск
Контактная информация:

Re: RPM4 vs RPM5

Сообщение alex_q_2000 »

keleg писал(а):под рутом или под sudo?
su - пароль - команда
keleg
Сообщения: 5545
Зарегистрирован: 15 сен 2011, 01:58

Re: RPM4 vs RPM5

Сообщение keleg »

Спасибо, воспроизвел. Очень интересно, да...
Аватара пользователя
admsasha
Сообщения: 278
Зарегистрирован: 25 ноя 2011, 17:54
Operating system: ROSA
Контактная информация:

Re: RPM4 vs RPM5

Сообщение admsasha »

keleg писал(а):Спасибо, воспроизвел. Очень интересно, да...
Где-то в этом форуме уже писали о данной проблеме.
Аватара пользователя
admsasha
Сообщения: 278
Зарегистрирован: 25 ноя 2011, 17:54
Operating system: ROSA
Контактная информация:

Re: RPM4 vs RPM5

Сообщение admsasha »

Во, я же о этой проблеме и сообщал :)
http://forum.rosalab.ru/viewtopic.php?f ... 55&p=40304
keleg
Сообщения: 5545
Зарегистрирован: 15 сен 2011, 01:58

Re: RPM4 vs RPM5

Сообщение keleg »

ОМовцев бы пнуть на этот счет. Вроде там разработчики RPM5
Аватара пользователя
alex_q_2000
Сообщения: 235
Зарегистрирован: 29 авг 2017, 10:16
Operating system: MgaRemix-9-Proserpina
Откуда: Богородск
Контактная информация:

Re: RPM4 vs RPM5

Сообщение alex_q_2000 »

В ходе дискуссии я получил представление о том, что эта "особенность" уже известна сообществу, а решение отдаётся на откуп разработчикам. Вопросов пока больше нет. Всех благодарю за сотрудничество. Всего наилучшего.
keleg
Сообщения: 5545
Зарегистрирован: 15 сен 2011, 01:58

Re: RPM4 vs RPM5

Сообщение keleg »

alex_q_2000 писал(а):В ходе дискуссии я получил представление о том, что эта "особенность" уже известна сообществу, а решение отдаётся на откуп разработчикам. Вопросов пока больше нет. Всех благодарю за сотрудничество. Всего наилучшего.
ок. Т.к. проблема не сильно критичная, ее решение не форсируется. Если кто-то возьмется - welcome!
trs
Сообщения: 1939
Зарегистрирован: 07 сен 2015, 16:08
Operating system: -

Re: RPM4 vs RPM5

Сообщение trs »

Под рутом rpm перестраивает часть индексов базы данных, а под пользователем на это нет прав.

BerkleyDB синхронизирует каждую операцию, что бы БД оставалась в консистентном состоянии в случае аварии, отсюда замедление.

Для ускорения можно добавить в файл /etc/rpm/macros строку

Код: Выделить всё

%__nofsync nofsync
Для временного изменения у rpm имеется ключ --nofsync (в справке про него умалчивается, определён в /usr/lib/rpm/rpmopt как alias).

Для urpmi аналогичная опция --fastunsafe http://wiki.rosalab.ru/ru/index.php/%D0 ... 1%81_Urpmi

Так же можно использовать ZFS (где синхронизация за ненадобностью отключается на уровне ФС), возможно, и какие-то ещё файловые системы.

P.S.
Вариант добавить в /var/lib/rpm/DB_CONFIG как предлагается http://rpm5.org/community/rpm-users/0554.html
опцию set_flags DB_TXN_NOSYNC
либо set_flags DB_TXN_NOSYNC on
http://www.oracle.com/technetwork/datab ... TXN_NOSYNC
https://docs.oracle.com/cd/E17275_01/ht ... flags.html
в моих экспериментов заметных изменений не дал (сравнивал не время, а смотрел strace вызовы fdatasync).
Ответить

Вернуться в «Обсуждение ROSA Fresh R9-R11.1 (платформа 2016.1)»