flamegraphs: Improve the title page
[libguestfs-talks.git] / 2021-pipelines / benchmarking.txt
1 Scenario (A)
2 ----------------------------------------------------------------------
3
4 (1) Create fedora-33 "dirty" disk image (simulating a long-running VM)
5 on a remote SSH server.  See "create.sh" script.
6
7 (2) The remote server is located over a 100 Mbps ethernet link.  Both
8 the client and server have plenty of local CPU and are otherwise idle
9 during the test.
10
11 (3) scp test:
12
13 scp remote:fedora-33.img local.img
14
15 (4) qcow2 snapshot + sparsify + qemu-img convert.  The time taken to
16 run all of the following operations in series.  See "testA4.sh".
17
18 (5) As above but without sparsify.  See "testA5.sh".
19
20 (6) As above but using nbdkit + nbdcopy.  See "testA6.sh".
21
22
23 Results of scenario (A)
24 ----------------------------------------------------------------------
25
26 (3) (scp) 48m40
27     ls -lsh local.img :
28
29 (4) (sparsify + qemu-img convert) 2m21
30
31 (5) (qemu-img convert)  59m39
32     ls -lsh local.img :
33     4.1G -rw-r--r--. 1 rjones rjones 32G Feb 10 11:11 local.img
34
35 (6) (nbdkit + nbdcopy) 3m49 [probably lock contention in cow filter]
36     $ ls -lsh local.img
37     1.2G -rw-r--r--. 1 rjones rjones 32G Feb 10 11:16 local.img
38
39
40
41 Scenario (B)
42 ----------------------------------------------------------------------
43
44 (1) Create local OVA file from disk image in scenario (A) using:
45
46 tar -cf test.ova -C /path/to/remote fedora-33.img
47 # -S option is not usually used with OVA files
48
49 (2) Time how long it takes to copy the file:
50
51 time cp test.ova test2.ova
52
53 (3) Time how long it takes to unpack this using tar -xf:
54
55 time tar -xf test.ova fedora-33.img
56
57 (4) Time how long it takes to copy out the sparsified image.
58 See "testB4.sh".
59
60
61 Results of scenario (B)
62 ----------------------------------------------------------------------
63
64 (2) (cp) 40s
65
66 (3) (tar xf) 43s
67
68 (4) (sparsify + qemu-img convert) 7.6s