New article: Bringing theoretical design and observed performances face to face #12
7 changed files with 75 additions and 0 deletions
BIN
content/blog/2022-perf/1million.png
Normal file
BIN
content/blog/2022-perf/1million.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 244 KiB |
BIN
content/blog/2022-perf/amplification.png
Normal file
BIN
content/blog/2022-perf/amplification.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 142 KiB |
BIN
content/blog/2022-perf/complexity.png
Normal file
BIN
content/blog/2022-perf/complexity.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 194 KiB |
BIN
content/blog/2022-perf/db_engine.png
Normal file
BIN
content/blog/2022-perf/db_engine.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 166 KiB |
75
content/blog/2022-perf/index.md
Normal file
75
content/blog/2022-perf/index.md
Normal file
|
@ -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
|
BIN
content/blog/2022-perf/io.png
Normal file
BIN
content/blog/2022-perf/io.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 189 KiB |
BIN
content/blog/2022-perf/ttfb.png
Normal file
BIN
content/blog/2022-perf/ttfb.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 128 KiB |
Loading…
Reference in a new issue