aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2022-perf
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2022-09-26 11:12:46 +0200
committerQuentin Dufour <quentin@deuxfleurs.fr>2022-09-26 11:12:46 +0200
commitd574b395ffb0c5b4e672dfef3b47971b4ec82470 (patch)
treec7412a9bdeeefa6ba1a1f54f9ae04286cc15bd9f /content/blog/2022-perf
parente95289c4833eee291a8217c771c2490ebcbbc751 (diff)
downloadgaragehq.deuxfleurs.fr-d574b395ffb0c5b4e672dfef3b47971b4ec82470.tar.gz
garagehq.deuxfleurs.fr-d574b395ffb0c5b4e672dfef3b47971b4ec82470.zip
Skeleton of our perf article
Diffstat (limited to 'content/blog/2022-perf')
-rw-r--r--content/blog/2022-perf/1million.pngbin0 -> 250100 bytes
-rw-r--r--content/blog/2022-perf/amplification.pngbin0 -> 145685 bytes
-rw-r--r--content/blog/2022-perf/complexity.pngbin0 -> 198406 bytes
-rw-r--r--content/blog/2022-perf/db_engine.pngbin0 -> 170092 bytes
-rw-r--r--content/blog/2022-perf/index.md75
-rw-r--r--content/blog/2022-perf/io.pngbin0 -> 193869 bytes
-rw-r--r--content/blog/2022-perf/ttfb.pngbin0 -> 131548 bytes
7 files changed, 75 insertions, 0 deletions
diff --git a/content/blog/2022-perf/1million.png b/content/blog/2022-perf/1million.png
new file mode 100644
index 0000000..c7ca528
--- /dev/null
+++ b/content/blog/2022-perf/1million.png
Binary files differ
diff --git a/content/blog/2022-perf/amplification.png b/content/blog/2022-perf/amplification.png
new file mode 100644
index 0000000..8962b65
--- /dev/null
+++ b/content/blog/2022-perf/amplification.png
Binary files differ
diff --git a/content/blog/2022-perf/complexity.png b/content/blog/2022-perf/complexity.png
new file mode 100644
index 0000000..a5cf631
--- /dev/null
+++ b/content/blog/2022-perf/complexity.png
Binary files differ
diff --git a/content/blog/2022-perf/db_engine.png b/content/blog/2022-perf/db_engine.png
new file mode 100644
index 0000000..0f22d6d
--- /dev/null
+++ b/content/blog/2022-perf/db_engine.png
Binary files differ
diff --git a/content/blog/2022-perf/index.md b/content/blog/2022-perf/index.md
new file mode 100644
index 0000000..4abcf8d
--- /dev/null
+++ b/content/blog/2022-perf/index.md
@@ -0,0 +1,75 @@
++++
+title="Bringing theoretical design and real word performances face to face"
+date=2022-09-26
++++
+
+
+*We*
+
+<!-- more -->
+
+---
+
+## ⚠️ Disclaimer
+The following results must be taken with a critical grain of salt due to some limitations that are inherent to any benchmark. We try to reference them in the following.
+
+Most of our tests are done on simulated networks that can not represent all the diversity of real networks (dynamic drop, jitter, latency, all of them could possibly be correlated with throughput or any other external event). We also limited ourselves to very small workloads that are not representative of a production cluster.
+
+For some benchmarks, we used Minio as a reference. It must be noted that we did not try to optimize its configuration as we have done on Garage, and more generally, we have way less knowledge on Minio than on Garage.
+It must also be noted that Gare and Minio are systems with different feature set, *eg.* Minio supports erasure coding for better data density while Garage doesn't.
+
+Impact of the testing environment is also not evaluated (kernel patches, configuration, parameters, filesystem, etc.), some of these configurations could favor one configuration/software over another. Finally, our results are also provided without statistical tests to check their significance, and thus might be statistically not significative.
+
+In any case, we are not making a business or technical recommendation, we only share bits of our development process.
+Read [benchmarking crimes](https://gernot-heiser.org/benchmarking-crimes.html) and make your own tests if you need to take a decision!
+
+## About our testing environment
+
+- Grid 5k.
+
+- My own computer.
+
+## Efficient I/O
+
+- streaming
+
+![](ttfb.png)
+
+- fsync, semaphore, timeouts, etc.
+
+![](io.png)
+
+## Million of objects
+
+- metadata engine
+
+![](db_engine.png)
+
+- storing metadata at scale
+
+![](1million.png)
+
+## Topology versatility
+
+- low bandwidth
+
+![]()
+
+- high network latency. phenomenon we name amplification
+
+![](amplification.png)
+
+- complexity (constant time)
+
+![](complexity.png)
+
+
+## Future work
+
+- srpt
+
+- better analysis of the fsync / data reliability impact
+
+- analysis and comparison of Garage at scale
+
+- try to better understand ecosystem (riak cs, minio, ceph, swift) -> some knowledge to get
diff --git a/content/blog/2022-perf/io.png b/content/blog/2022-perf/io.png
new file mode 100644
index 0000000..f581a22
--- /dev/null
+++ b/content/blog/2022-perf/io.png
Binary files differ
diff --git a/content/blog/2022-perf/ttfb.png b/content/blog/2022-perf/ttfb.png
new file mode 100644
index 0000000..c0335bd
--- /dev/null
+++ b/content/blog/2022-perf/ttfb.png
Binary files differ