Comment 0 for bug 570805

Revision history for this message
Dustin Kirkland  (kirkland) wrote : [regression] dpkg fsync cause massive regression in Ubuntu Server installation times

Binary package hint: dpkg

dpkg (1.15.5.6ubuntu4) causes a massive regression in the installation of the Ubuntu Server.

Specifically, this from the changelog, addressing Bug #559915:

    - Restore fsync during package unpack (LP: #559915). This is now done
      by deferring the fsync and rename for normal files in tar extraction
      so that it's done in one pass afterwards, to avoid massive I/O
      degradation due to the serialization from each write + fsync. When
      creating hard links to normal files on extraction use the .dpkg-new
      filename for source as the file is not yet in place due to the rename
      deferral.

I just installed the same hardware, from the same USB stick, in an identical configuration, one on ext4 and the other on ext3.

On ext4, this took 19 minutes, 20 seconds. On ext3, this took 9 minutes, 8 seconds.

This is a 100% performance hit on Server installs. It takes now takes over twice as long to install Ubuntu servers.

While I can understand that the fsyncs() are necessary for power loss situations on apt-get upgrade/dpkg operations *after* the system has been installed, it should not be necessary at Server install time. If you lose power during a d-i installation, you will clearly need to start from scratch anyway.

The desktop installer does not suffer from this since ubiquity installations simply transfer the live image.