Replies: 6 comments 3 replies
-
That step is copying the input container image to the target - typically a disk image. Taking the case of e.g. https://github.com/osbuild/bootc-image-builder - it is copying from the "osbuild store" (xref osbuild/bootc-image-builder#466 ) to the target disk. When using Perhaps the easiest way to make this faster externally is to turn off There's a few related things here. One is definitely ostreedev/ostree-rs-ext#365 Another is we could investigate adding some internal parallelism inside the storage writes (in theory, even going to io-uring). One thing I've been meaning to investigate is chainging the ostree store to use But, from an external perspective at the moment the best I can think of is turning off fsync. |
Beta Was this translation helpful? Give feedback.
-
isn't fsync already disabled when running in podman? We are running like this:
|
Beta Was this translation helpful? Give feedback.
-
The general problem here strongly related to how e.g. But, none of that helps with the parallelism or O_DIRECT side. At least on the bootc/ostree side have Rust now which gives us memory safety without data races, nice high level APIs like rayon, tokio etc. and even high level safe bindings to io-uring. But...the actual writes happening still are in the C library, much like librpm unfortunately. |
Beta Was this translation helpful? Give feedback.
-
I did some looking at the code to do more things in parallel here (ostreedev/ostree-rs-ext#647 was a trivial prep for this) but...fundamentally our task here is mostly copying a bunch of files plus some metadata, which (if we decided to turn off checksum verification while we do the copying) could be way more efficient if we just basically did a splice/copy_file_range in parallel and didn't even bounce data into userspace. There's a whole lot of layers of abstraction here that get in the way; also, this strongly relates to containers/storage#1849 |
Beta Was this translation helpful? Give feedback.
-
XFS doesn't have nobarrier option, but I tried unfortunately it actually made it slower. |
Beta Was this translation helpful? Give feedback.
-
I did #654 which will help us also output other information such as I/O rates etc. |
Beta Was this translation helpful? Give feedback.
-
An anonymous user asks: What is happening during the step Deploying container image - it is slow and I would like to to try to make it faster (by throwing hardware at it)
Beta Was this translation helpful? Give feedback.
All reactions