Static delta not working as expected?



I'm trying to benchmark static deltas and estimate bandwidth usage, compared to 'archive' ostree updates.
However, the reported update size with static deltas seems to be roughly the same as without. I'm probably doing something wrong, but it all looks pretty straightforward.

Procedure, server side:

ostree --repo=repo --mode=archive init
ostree --repo=repo commit --branch=v1 --subject="Build 1" rootfs
# copy slightly newer version of rootfs to the 'rootfs' folder, with a bunch of binary files being different
ostree --repo=repo commit --branch=v1 --subject="Build 2" rootfs
ostree --repo=repo static-delta generate v1 # optional step
cd repo && python3 -m http.server 8000

Procedure, client side (same machine):

ostree --repo=repo init
ostree --repo=repo remote add --no-gpg-verify local http://localhost:8000 --repo=repo
ostree --repo=repo pull local v1

ostree pull is done twice: after the first build is committed to the server, and then after the second build is committed.

Second pull, with static deltas:
1 delta parts, 68 loose fetched; 4702 KiB transferred in 0 seconds; 1,1 MB content written
Without static deltas:
19 metadata, 75 content objects fetched; 4912 KiB transferred in 0 seconds; 13,4 MB content written

Size of generated deltas looks promising (note: it's from slightly different rootfs, but numbers are close):

Generating static delta:
  From: 0327e92821d5c65b1b30572d922cf23f0fa0c146f53448e56ee6e09b48630ded
  To:   b45da435171a4fe24c83cb1ce907589aa1e45097aa3730a4fcd71e7eea15e283
modified: 43
new reachable: metadata=15 content regular=48 symlink=3
rollsum for 0/43 modified
processing bsdiff: [0/42]
processing bsdiff: [4/42]
processing bsdiff: [8/42]
processing bsdiff: [12/42]
processing bsdiff: [16/42]
processing bsdiff: [20/42]
processing bsdiff: [24/42]
processing bsdiff: [28/42]
processing bsdiff: [32/42]
processing bsdiff: [36/42]
processing bsdiff: [40/42]
part 1 n:65 compressed:422133 uncompressed:10928267
uncompressed=10928267 compressed=422133 loose=153858
rollsum=0 objects, 0 bytes
bsdiff=42 objects

However, the transferred size is roughly the same, even though static deltas (or just a single delta?) are fetched, and the generated deltas size is really small.

Thanks,

Ivan



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