From 4bb5063eee002b0bd0279310c3d8eca56a5044b5 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 12 Feb 2021 14:41:28 +0000 Subject: [PATCH] Slides 4000/5000 (benchmarks). --- 2021-pipelines/4000-benchmark-A.html | 62 ++++++++++++++++++++++++++ 2021-pipelines/4100-benchmark-A-results.html | 65 ++++++++++++++++++++++++++++ 2021-pipelines/5000-ova-files.html | 28 ++++++++++++ 2021-pipelines/5100-benchmark-B.html | 45 +++++++++++++++++++ 2021-pipelines/5200-benchmark-B-results.html | 48 ++++++++++++++++++++ 2021-pipelines/notes.txt | 8 ++-- 6 files changed, 252 insertions(+), 4 deletions(-) create mode 100644 2021-pipelines/4000-benchmark-A.html create mode 100644 2021-pipelines/4100-benchmark-A-results.html create mode 100644 2021-pipelines/5000-ova-files.html create mode 100644 2021-pipelines/5100-benchmark-B.html create mode 100644 2021-pipelines/5200-benchmark-B-results.html diff --git a/2021-pipelines/4000-benchmark-A.html b/2021-pipelines/4000-benchmark-A.html new file mode 100644 index 0000000..050ca3d --- /dev/null +++ b/2021-pipelines/4000-benchmark-A.html @@ -0,0 +1,62 @@ + + + + +

Benchmark A: copying

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
scp
scp remote:fedora-33.img local.img
qemu-img only +
+┌───────────────┐ssh ┌────────────┐                           ┌───────────┐
+│ fedora-33.img │───▶│ qcow2 file │───▶ qemu-img convert ────▶│ local.img │
+└───────────────┘    └────────────┘                           └───────────┘
+
+
sparsify + qemu-img +
+┌───────────────┐ssh ┌────────────┐
+│ fedora-33.img │───▶│ qcow2 file │◀─── virt-sparsify --in-place
+└───────────────┘    └────────────┘                           ┌───────────┐
+                                   ───▶ qemu-img convert ────▶│ local.img │
+                                                              └───────────┘
+
+
nbdkit + nbdcopy +
+┌───────────────┐ssh ┌────────────┐
+│ fedora-33.img │───▶│ nbdkit cow │◀─── virt-sparsify --in-place
+└───────────────┘    └────────────┘                   ┌───────────┐
+                                   ───▶ nbdcopy ────▶ │ local.img │
+                                                      └───────────┘
+
+
diff --git a/2021-pipelines/4100-benchmark-A-results.html b/2021-pipelines/4100-benchmark-A-results.html new file mode 100644 index 0000000..70c6c8c --- /dev/null +++ b/2021-pipelines/4100-benchmark-A-results.html @@ -0,0 +1,65 @@ + + + + +

Benchmark A: copying — results

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
scp
scp remote:fedora-33.img local.img
48m40
qemu-img only +
+┌───────────────┐ssh ┌────────────┐                           ┌───────────┐
+│ fedora-33.img │───▶│ qcow2 file │───▶ qemu-img convert ────▶│ local.img │
+└───────────────┘    └────────────┘                           └───────────┘
+
+
59m39
sparsify + qemu-img +
+┌───────────────┐ssh ┌────────────┐
+│ fedora-33.img │───▶│ qcow2 file │◀─── virt-sparsify --in-place
+└───────────────┘    └────────────┘                           ┌───────────┐
+                                   ───▶ qemu-img convert ────▶│ local.img │
+                                                              └───────────┘
+
+
2m21
nbdkit + nbdcopy +
+┌───────────────┐ssh ┌────────────┐
+│ fedora-33.img │───▶│ nbdkit cow │◀─── virt-sparsify --in-place
+└───────────────┘    └────────────┘                   ┌───────────┐
+                                   ───▶ nbdcopy ────▶ │ local.img │
+                                                      └───────────┘
+
+
3m49
diff --git a/2021-pipelines/5000-ova-files.html b/2021-pipelines/5000-ova-files.html new file mode 100644 index 0000000..d89b936 --- /dev/null +++ b/2021-pipelines/5000-ova-files.html @@ -0,0 +1,28 @@ + + + + +

OVA files

+ +
+
+┌───guest.ova──────────┐
+│ guest.ovf            │
+│                      │
+│ disk1.raw (or .vmdk) │
+│                      │
+└──────────────────────┘
+
+ +
+tar file = header - file - header - file ...
+
+ +
+          nbdkit tar
+┌──────────┐filter┌────────────┐
+│ test.ova │─────▶│ qcow2 file │◀─── virt-sparsify --in-place
+└──────────┘      └────────────┘                            ┌───────────┐
+                                 ───▶ qemu-img convert ────▶│ local.img │
+                                                            └───────────┘
+
diff --git a/2021-pipelines/5100-benchmark-B.html b/2021-pipelines/5100-benchmark-B.html new file mode 100644 index 0000000..26a2535 --- /dev/null +++ b/2021-pipelines/5100-benchmark-B.html @@ -0,0 +1,45 @@ + + + + +

Benchmark B: local OVA file

+ + + + + + + + + + + + + + + + + + + + + +
cp
cp test.ova test2.ova
tar
tar xf test.ova fedora-33.img
nbdkit
++ sparsify
++ qemu-img
+
+          nbdkit tar
+┌──────────┐filter┌────────────┐
+│ test.ova │─────▶│ qcow2 file │◀─── virt-sparsify --in-place
+└──────────┘      └────────────┘                            ┌───────────┐
+                                 ───▶ qemu-img convert ────▶│ local.img │
+                                                            └───────────┘
+
+
diff --git a/2021-pipelines/5200-benchmark-B-results.html b/2021-pipelines/5200-benchmark-B-results.html new file mode 100644 index 0000000..6cba810 --- /dev/null +++ b/2021-pipelines/5200-benchmark-B-results.html @@ -0,0 +1,48 @@ + + + + +

Benchmark B: local OVA file — results

+ + + + + + + + + + + + + + + + + + + + + +
cp
cp test.ova test2.ova
40s
tar
tar xf test.ova fedora-33.img
43s
nbdkit
++ sparsify
++ qemu-img
+
+          nbdkit tar
+┌──────────┐filter┌────────────┐
+│ test.ova │─────▶│ qcow2 file │◀─── virt-sparsify --in-place
+└──────────┘      └────────────┘                            ┌───────────┐
+                                 ───▶ qemu-img convert ────▶│ local.img │
+                                                            └───────────┘
+
+
7.6s
diff --git a/2021-pipelines/notes.txt b/2021-pipelines/notes.txt index 447e397..1a51db9 100644 --- a/2021-pipelines/notes.txt +++ b/2021-pipelines/notes.txt @@ -188,10 +188,10 @@ sparsification before doing the copy. Benchmark A ---------------------------------------------------------------------- -Now you might think this is all a bit obscure, but how does it apply -to copying disk images. In this first benchmark, I've compared -copying a disk in several different ways to see which is fastest. All -of the copying happens between two idle machines, over a slow network. +Now you might think this is all a bit obscure, but is it any good? +In this first benchmark, I've compared copying a disk in several +different ways to see which is fastest. All of the copying happens +between two idle machines, over a slow network. The full methodology is in the background notes that accompany this talk, which I'll link at the end. -- 1.8.3.1