1 |
On Wed, Aug 12, 2009 at 10:51 PM, Robin H. Johnson <robbat2@g.o>wrote: |
2 |
|
3 |
> On Wed, Aug 12, 2009 at 05:17:55PM +0200, Francesco R wrote: |
4 |
> > Proposal, create snapshots of portage as squashfs iso, to be used in |
5 |
> > place of /usr/portage directory. |
6 |
> To all of these suggestions, I'd like to point out that if you're |
7 |
> willing to pay the same cost in administration (maintaining a separate |
8 |
> filesystem for /usr/portage), then you can have EVERYTHING in the |
9 |
> advantages list, and none of the things in the disadvantages list by |
10 |
> simply using a small reiserfs space for /usr/portage, with tail-packing |
11 |
> enabled. |
12 |
|
13 |
|
14 |
well squashfs has a pair of advantages over reiserfs, duplicate file |
15 |
detection, compression and a bright future. |
16 |
|
17 |
> |
18 |
> |
19 |
> For the rsync.g.o main rotation servers, we actually do that, just |
20 |
> RAM-backed to serve files as fast as possible without hitting disk. |
21 |
> |
22 |
|
23 |
only possibility to cope with the load they have I think |
24 |
|
25 |
|
26 |
> |
27 |
> When you removed bandwidth limitations and disk limitations on the |
28 |
> client side, I believe the record time for a emerge --sync that was 24 |
29 |
> hours out of date was somewhere around 23 seconds. |
30 |
|
31 |
|
32 |
23 seconds are ... a lot without bandwidth and disk limitation, disk time |
33 |
for 50 MB is 1 sec (or even much less), and it transfer the whole iso in |
34 |
that time |
35 |
|
36 |
|
37 |
> |
38 |
> If you really wanted to get the rsync transfer size down, see what you |
39 |
> can do about the 'file list size' section, which is eating up a lot of |
40 |
> the download gains with the classical rsync:// sync. |
41 |
> |
42 |
|
43 |
IMHKnowledge the only way to do this is to have one index file (or files) |
44 |
the file should contain a triple ctime, status and file name (ordered by |
45 |
ctime possibly descending), and provide a cheap way to retrieve the list of |
46 |
files changed in a certain amount of time, |
47 |
status would be needed mainly for deleted files, but it can be modified or |
48 |
added too. |
49 |
Portage already has timestamp in /metadata so that skew of the client clock |
50 |
are not a problem, skew on the server would be. |
51 |
|
52 |
As a side advantage this could be served by an http server, still having |
53 |
rsync as an option. Currently rsync already use the option --whole-file and |
54 |
does only time/size check, if those differ, it downloat the full (little) |
55 |
file. Right ? |
56 |
|
57 |
This would be interesting too, but what happen if the timestamp in the |
58 |
client is too old or absent? fallback to rsync? How much time or how much |
59 |
size would the index file be allowed to grow? |
60 |
|
61 |
P.S. as a http client curl would be more useful than wget because it permit |
62 |
to download more file in one session |