Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Boot performance vs dnf image #3041

Open
ericcurtin opened this issue Sep 12, 2023 · 2 comments
Open

Boot performance vs dnf image #3041

ericcurtin opened this issue Sep 12, 2023 · 2 comments
Labels
area/prepare-root Issue relates to ostree-prepare-root difficulty/medium medium complexity/difficutly issue reward/medium Fixing this will be notably useful

Comments

@ericcurtin
Copy link
Collaborator

ericcurtin commented Sep 12, 2023

Running some performance tests, we found some differences between an ostree version of Automotive Stream Distribution and a dnf version of Automotive Stream Distribution (called "regular" in the below tables). Boot time is under a microscope as part of our Automotive efforts.

These numbers were taken from 50 runs. One interesting result is the difference in the time it takes to get to "initrd-switch-root.service" which is the service that takes us to the final rootfs.

STARTUP SECTIONS ER3 ‘regular’ ER3 ‘ostree’ % TIME Increase w/‘ostree’
kernel 1.09 1.10 0.9%
initrd 5.69 6.11 7.1%
userspace 16.79 18.95 12.1%
TOTAL 23.57 26.16 10.4%

SYSTEMD UNITS ER3 ‘regular’ ER3 ‘ostree’ % TIME Increase w/‘ostree’
NetworkManager-wait-online.service 5.91 5.93 0.3%
initrd-switch-root.service 2.85 3.67 29%
systemd-random-seed.service 1.78 2.02 13%
NetworkManager.service 1.68 1.4 -17%
systemd-tmpfiles-setup.service 1.28 2.64 106%
initrd-cleanup.service 0.92 1.06 15%
systemd-udev-trigger.service 0.66 0.61 -7.6%
dbus-broker.service 0.63 0.61 -3.2%
systemd-logind.service 0.60 0.59 -1.7%

An admirable goal could be to get to initrd-switch-root.service as quickly as a dnf image.

@ericcurtin ericcurtin added difficulty/medium medium complexity/difficutly issue reward/medium Fixing this will be notably useful labels Sep 12, 2023
@cgwalters
Copy link
Member

called "regular"

I really don't like being implicitly "irregular" or "not normal" personally. openshift/machine-config-operator#3580 (comment)

NetworkManager-wait-online.service

Why is this even pulled in for you? Is NBDE in play here?

Do you have pre-built example images here? Or even just the relevant initramfs.img?

@ericcurtin
Copy link
Collaborator Author

ericcurtin commented Sep 12, 2023

called "regular"

I really don't like being implicitly "irregular" or "not normal" personally. openshift/machine-config-operator#3580 (comment)

I would prefer an alternate name also for the record.

NetworkManager-wait-online.service

Why is this even pulled in for you? Is NBDE in play here?

It is pulled in at present, but it may not be in play in a real life deployment.

Do you have pre-built example images here? Or even just the relevant initramfs.img?

@jharriga collected these. So he would have to confirm, but it would be something like the initramfs from:

git@gitlab.com:CentOS/automotive/sample-images.git
cd sample-images/osbuild-manifests

make cs9-ridesx4-developer-regular.aarch64.simg

and

make cs9-ridesx4-developer-ostree.aarch64.simg

but you can also build vm versions of these via:

make cs9-abootqemu-developer-regular.aarch64.qcow2

and

make cs9-abootqemu-developer-ostree.aarch64.qcow2

@cgwalters cgwalters added the area/prepare-root Issue relates to ostree-prepare-root label Sep 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/prepare-root Issue relates to ostree-prepare-root difficulty/medium medium complexity/difficutly issue reward/medium Fixing this will be notably useful
Projects
None yet
Development

No branches or pull requests

2 participants