Re: ostree create-usb performance



On Wed, Mar 3, 2021 at 7:18 PM Phaedrus Leeds via ostree-list
<ostree-list gnome org> wrote:

Unfortunately the performance of the create-usb command is well below what one would expect from a modern 
computer: it takes about 63 minutes to copy 8092 MiB which works out to 2.14 MiB/s, on a computer that can 
easily do 85 MiB/s when copying much of the same data packed into a static delta with "ostree static-delta 
generate". At least two things might be the culprit of the slow performance when using create-usb instead 
of a static delta: (1) there is an inherent performance limitation when copying several thousand individual 
files instead of a static delta composed of a few files because of the extra work of filesystem operations 
at the stop and start of each file, or (2) the reduced performance is due to all the `fsync()` calls ostree 
makes during the copy. That latter theory seems experimentally ruled out because the performance is 
comparable if one uses `ostree create-usb --disable-fsync` followed by a `sync` command. The former theory 
probably is a large part of the problem but perhaps there is some way we can do better? Any ideas?

Have you tried profiling it? perf could get a pretty good
understanding of where the time is going. You might also try strace to
confirm that ostree is really not calling fsync.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]