1 |
Dnia 2014-01-17, o godz. 19:19:14 |
2 |
Duncan <1i5t5.duncan@×××.net> napisał(a): |
3 |
|
4 |
> Michał Górny posted on Fri, 17 Jan 2014 17:27:30 +0100 as excerpted: |
5 |
> |
6 |
> > Now some numbers. I did some tests 'converting' late gx86 daily tarballs |
7 |
> > to squashfs. I've used squashfs 4.2 with LZO compression since it's |
8 |
> > quite good and very fast. |
9 |
> > |
10 |
> > 96M portage-20140108.sqfs |
11 |
> [...] |
12 |
> > 97M portage-20140114.sqfs |
13 |
> > 97M portage-20140115.sqfs |
14 |
> > |
15 |
> > For deltas [...] |
16 |
> > |
17 |
> > 4,9M portage-20140108.sqfs-portage-20140109.sqfs.vcdiff.djw |
18 |
> > 6,3M portage-20140109.sqfs-portage-20140110.sqfs.vcdiff.djw |
19 |
> [...] |
20 |
> > 8,5M portage-20140114.sqfs-portage-20140115.sqfs.vcdiff.djw |
21 |
> > |
22 |
> > As you can see, the deltas are quite large compared to the actual |
23 |
> > changes. However, we could have expected that since we're diffing a |
24 |
> > compressed filesystem. What's important, however, is that applying it |
25 |
> > takes ~2.5 second on my 2 GHz Athlon64. |
26 |
> |
27 |
> And... eyeballing a 6 MiB average, diffs are ~1/16 the full squashfs |
28 |
> size, perhaps a bit larger. So people updating once a week or even about |
29 |
> every 10 days would see a bandwidth savings, provided the sync script was |
30 |
> intelligent enough to apply updates serially. |
31 |
> |
32 |
> The breakover point would be roughly an update every two weeks, or twice |
33 |
> a month, at which point just downloading a new full squashfs would be |
34 |
> easier, at about the same bandwidth. |
35 |
|
36 |
Yes, that's the initial goal. The update code would catch that |
37 |
condition and perform full fetch instead. |
38 |
|
39 |
However, it may be actually beneficial to provide other durations, like |
40 |
weekly deltas. In my tests, the daily updates for this week summed up |
41 |
to almost 50M while the weekly was barely 20M. |
42 |
|
43 |
> > What do you think? |
44 |
> |
45 |
> How does this, particularly the metadata cache, interact with overlays? |
46 |
> That's /my/ big question. |
47 |
|
48 |
The same way as usual. Nothing special happens unless you override |
49 |
eclasses via overlays. If you do that, you need unionfs to save |
50 |
the cache updates -- but then, it has no point for you to use squashfs. |
51 |
|
52 |
-- |
53 |
Best regards, |
54 |
Michał Górny |