From: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: Re: [devel] печальные последствия перехода на rpm-4.13 Date: Wed, 25 Jan 2017 20:42:43 +0300 Message-ID: <20170125174243.GA305@glebfm.cloud.tilaa.com> (raw) In-Reply-To: <20170125044812.GA29940@celery> [-- Attachment #1: Type: text/plain, Size: 4039 bytes --] Hi, On Wed, Jan 25, 2017 at 07:48:12AM +0300, Alexey Tourbin wrote: > Уважаемые мужчины! > > Вследствие перехода на rpm-4.13 в вашем национальном дистрибутиве > наблюдается многократное замедление работы. > > Вот как сканировал пакеты старый rpm: [...] > Предварительный осмотр показывает, что rpm теперь вычисляет какие-то > хитрые SHA1-суммы. Никакой хитрости, оно сравнивает SHA1HEADER с реальностью. Мне не кажется это совсем плохой идеей, а для чтения тысяч файлов всегда можно сделать %__vsflags = %__vsflags|_RPMVSF_NODIGESTS, например 0xf0f00. > Но это полбеды, а настоящий масштаб бедствия становится понятен, если > посмотреть, что происходит с виртуальной памятью. [...] Спасибо за исследование! > У пакета ffmpeg маленький заголовок, потому что в нем находится только > программа ffmpeg (плюс еще ffplay и ffprobe) и несколько man-страниц. > Старому rpm нужно было 2 страницы виртуальной памяти, новому - 12. > > Всё это конечно же происходит из-за readahead. Я когда-то делал патч > для отключения readahead во время загрузки заголовка: > http://git.altlinux.org/people/at/packages/rpm.git?a=commitdiff;h=66b17f5f > На новый rpm его не портировали. Да, портировалось необходимое, а такие вещи к сожалению остались до появления необходимости. :) Со спортированным патчем (см task #177147) на rpmquery -p ~/chromium-55.0.2883.75-alt1.x86_64.rpm получается: -total cached size: 245,760 +total cached size: 77,824 Раньше были те же 77,824. > Правда, этот патч мне не очень нравится, потому на время загрузки > заголовка readahead отключается полностью. В контексте сборочницы этот патч очень важен когда кэша нет. Мы даже с ним теряем минут, кажется, 40 на создание кэша. > Теоретически этом может > привести к тому, что для загрузки заголовка может потребоваться > несколько physical reads. Но на практике их не требуется (ср. total > time у /tmp/rpmq и rpmquery) - вероятно, выручает встроенный кеш > внутри самого жесткого диска. > > * * * > > В связи со всем этим безобразием более актуально встает вопрос о > кешировании заголовков. Пожалуй, напишу об этом отдельным письмом. Если речь в первую очередь о сборочнице, то, возможно, стоит задуматься о патчинге apt-овых индексов (вместо генерации их с нуля). Остальные клиенты gb-sh-rpmhdrcache вполне могли бы патчить то, что у них есть -- и генератор useful-files и генератор contents_index. Понятно, что единственной загвоздкой в патчинге индексов являются именно useful-files. -- glebfm [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 801 bytes --]
next prev parent reply other threads:[~2017-01-25 17:42 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-01-25 4:48 Alexey Tourbin 2017-01-25 17:42 ` Gleb Fotengauer-Malinovskiy [this message] 2017-02-28 16:19 ` Alexey Tourbin 2017-03-04 7:31 ` Alexey Tourbin 2017-03-04 8:08 ` Andrew Clark 2017-03-04 9:51 ` Alexey Tourbin 2017-03-04 10:50 ` Andrew Clark 2017-03-06 7:37 ` Alexey Tourbin 2017-03-06 7:47 ` Andrew Clark 2017-03-06 12:28 ` Alexey Tourbin 2017-03-06 12:59 ` Andrew Clark 2017-03-06 13:15 ` [devel] Administrativa (was Re: печальные последствия перехода на rpm-4.13) Alexey Gladkov 2017-03-06 17:37 ` [devel] печальные последствия перехода на rpm-4.13 Alexey Tourbin 2017-03-04 10:46 ` [devel] genbasedir (was: печальные последствия перехода на rpm-4.13) Dmitry V. Levin 2017-03-06 13:21 ` Alexey Tourbin 2017-03-08 11:50 ` Evgeny Sinelnikov 2017-03-05 1:42 ` [devel] уникальная технология " Dmitry V. Levin 2017-03-06 8:55 ` Alexey Tourbin 2017-03-07 7:39 ` Alexey Tourbin 2017-03-07 10:26 ` [devel] ccache (was: уникальная технология) Dmitry V. Levin 2017-03-08 18:23 ` Evgeny Sinelnikov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170125174243.GA305@glebfm.cloud.tilaa.com \ --to=glebfm@altlinux.org \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git