live-config is too slow. Needs re-factoring! #220

Closed
kaihendry opened this Issue Jul 16, 2015 · 5 comments

Comments

Projects
None yet
2 participants
@kaihendry
Member

kaihendry commented Jul 16, 2015

     20.189s live-config.service
     10.424s networking.service
      5.036s keyboard-setup.service
      4.768s console-setup.service
      1.266s kbd.service
       834ms systemd-modules-load.service
       827ms eGTouchD.service
       629ms systemd-udev-trigger.service
       618ms debian-fixup.service
       419ms console-kit-log-system-start.service
       415ms systemd-tmpfiles-setup-dev.service
       410ms systemd-logind.service
       376ms plymouth-start.service
       342ms dev-hugepages.mount
       340ms dev-mqueue.mount
       331ms systemd-journal-flush.service
       326ms systemd-tmpfiles-setup.service
       306ms sys-kernel-debug.mount
       301ms plymouth-quit-wait.service
       298ms plymouth-quit.service
       284ms plymouth-read-write.service
       277ms systemd-random-seed.service
       271ms systemd-backlight@backlight:acpi_video0.service
       260ms systemd-backlight@backlight:psb-bl.service
       234ms systemd-setup-dgram-qlen.service
       234ms systemd-update-utmp-runlevel.service
       232ms kmod-static-nodes.service
       199ms systemd-user-sessions.service
       192ms systemd-update-utmp.service
       138ms udev-finish.service
       127ms systemd-sysctl.service
       115ms sys-fs-fuse-connections.mount
       102ms rsyslog.service
        88ms systemd-remount-fs.service
        81ms systemd-udevd.service

This is what I pulled out with journalctl -u live-config -b http://ix.io/jL7

@kaihendry

This comment has been minimized.

Show comment
Hide comment
@kaihendry

kaihendry Sep 7, 2015

Member

Tbh, I'm thinking it's taking the most time with the git mount.
http://ix.io/iHR

For example looking at http://ix.io/iIk

Somewhere between here:

Sep 07 03:48:13 webconverger live-config[275]: Fixing webc home
Sep 07 03:48:20 webconverger live-config[275]: + [ true = true ]

We lost seven seconds!!

However looking at the next wastes of time...

Sep 07 03:48:20 webconverger live-config[275]: + echo [2015-09-07 03:48:20] live-config: /lib/live/config/0010-debconf

to

Sep 07 03:48:26 webconverger live-config[275]: + /lib/live/config/9990-hooks

We lost 6 seconds. These seem to be skipping over /lib/live/config/ elements we don't use.

Member

kaihendry commented Sep 7, 2015

Tbh, I'm thinking it's taking the most time with the git mount.
http://ix.io/iHR

For example looking at http://ix.io/iIk

Somewhere between here:

Sep 07 03:48:13 webconverger live-config[275]: Fixing webc home
Sep 07 03:48:20 webconverger live-config[275]: + [ true = true ]

We lost seven seconds!!

However looking at the next wastes of time...

Sep 07 03:48:20 webconverger live-config[275]: + echo [2015-09-07 03:48:20] live-config: /lib/live/config/0010-debconf

to

Sep 07 03:48:26 webconverger live-config[275]: + /lib/live/config/9990-hooks

We lost 6 seconds. These seem to be skipping over /lib/live/config/ elements we don't use.

@kaihendry

This comment has been minimized.

Show comment
Hide comment
@kaihendry

kaihendry Sep 7, 2015

Member

I've since discovered that components=gitfs or live-config.components=gitfs is all we need.

However I don't like the idea of appending yet another command to https://github.com/Webconverger/webc/blob/master/etc/webc/boot-cmdline

(In future) can we do away with:

  • boot=live
  • skipconfig
Member

kaihendry commented Sep 7, 2015

I've since discovered that components=gitfs or live-config.components=gitfs is all we need.

However I don't like the idea of appending yet another command to https://github.com/Webconverger/webc/blob/master/etc/webc/boot-cmdline

(In future) can we do away with:

  • boot=live
  • skipconfig
@matthijskooijman

This comment has been minimized.

Show comment
Hide comment
@matthijskooijman

matthijskooijman Sep 7, 2015

Member

What does components=gitfs do? Never seen that before?

If you remove boot=live, I think the live-part of the initrd will not run, which is responsible for mounting git-fs and the overlay filesystem?

Member

matthijskooijman commented Sep 7, 2015

What does components=gitfs do? Never seen that before?

If you remove boot=live, I think the live-part of the initrd will not run, which is responsible for mounting git-fs and the overlay filesystem?

@kaihendry

This comment has been minimized.

Show comment
Hide comment
@kaihendry

kaihendry Sep 7, 2015

Member

components=gitfs just runs https://github.com/Webconverger/webc/blob/master/lib/live/config/0005-gitfs

Nevermind my boot=live comment for now. Not sure why that can't be built into the initrd or something.

Member

kaihendry commented Sep 7, 2015

components=gitfs just runs https://github.com/Webconverger/webc/blob/master/lib/live/config/0005-gitfs

Nevermind my boot=live comment for now. Not sure why that can't be built into the initrd or something.

@kaihendry kaihendry closed this in 3404e37 Sep 7, 2015

@kaihendry

This comment has been minimized.

Show comment
Hide comment
@kaihendry

kaihendry Sep 7, 2015

Member

Fixed blame looks like: http://ix.io/kEP 😀

Member

kaihendry commented Sep 7, 2015

Fixed blame looks like: http://ix.io/kEP 😀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment