2011-07-25

Boot Times are Important.. sort of

Adam W was at CLS and has been going over ideas he ran into. One of them was a talk by Dan Allen of Mojave Linux on speeding up boot times of Jboss.

While I agree that starting times do matter for laptops and such.. for servers they are really a joke. Mainly because all of Linux could start up in 10 seconds, but the real wait is all the BIOS/EFI startups which Linux has no power over. Two weeks ago, I spent the week with Kevin Fenzi inventorying old hardware and installing new hardware at the Red Hat/Fedora Phoenix bunker. Most of our time was spent waiting.. (average of 4 minutes per server.. the newer the server, the longer the time) for a tiny period of time when we could enter a keystroke to enter some BIOS menu. Go too soon and they keyboard buffer is overrun, wait to long and you have 1-3 more minutes waiting until you can press it. For one server, we spent close to an hour trying to get all the menus gone through so we could actually get to the point of running Linux on it. And even after going into the menus and turning on "fast" boot options, the servers still take 2-4 minutes to get to a grub prompt.

And yes during those times we were going on yak shaving expeditions or trying to figure out how many prime numbers were below a googol.. but for the most part an even long RHEL-5 boot time with all the trimmings is stunningly fast compared to getting the server to booting. Until that problem is really solved, I think most boot time arguments are going to just go over server administrator heads.

This slowness is a primary reason why Infrastructure uses virtual machines everywhere. We can reboot a virtual machine in far less time than it takes for the real hardware version to think about rebooting. In the virtual server case, slow services are more detectable. I can no longer reboot a box, get in the car, go the coffee house, come back wait for the coffee to cool and then be at a Grub prompt. I might get to the door when the prompt is waiting for me.

4 comments:

Anonymous said...

Just to note - this was just an informal conversation between me and Dan, not a talk he was giving. Though he should give a talk on it, because it was really cool stuff. =) I certainly know what you mean about servers, I was thinking more about the desktop case.

Anonymous said...

I agree with the server side, some of our larger servers with multiple HBA and NICs can take an eon to get to the ability to boot an OS and a few seconds to boot RHEL-6. EFI is suppose to have a "quick boot" option where if there's no HW change it leaves it to the OS to deal with things but it doesn't seem to work or at least takes minimal effect on the boot time.

Anonymous said...

I recently discovered the Pause/Break key works to suspend the bios giving you time to press the menu key at your leisure, Hopefully this works for servers and efi too.

Richard Jones said...

There's one place it really matters: for virtualization.

Changes made to improve boot times on real hardware might not be that important for real hardware. But they feed through to VMs and virtual appliances, where we can throw up single purpose appliances to do things in under 4 seconds (libguestfs, using a standard Fedora kernel).

So yes, it matters.