Compare commits

...

5 commits
main ... main

5 changed files with 3846 additions and 2 deletions

View file

@ -49,6 +49,7 @@ All scenarios:
- `./scenarios/garage-s3lat [garage-v0.7|garage-v0.8]` - Run s3lat on Garage
- `./scenarios/garage-concurrent [garage-v0.7|garage-v0.8]` - Run s3concurrent on Garage
- `./scenarios/garage-warp [garage-v0.7|garage-v0.8] [default|fast]` - Run warp on Garage. 2 flavors are available: fast and default.
- `./scenarios/garage-s3billion [garage-v0.7|garage-v0.8]` - Run s3billion on Garage
*Scenarios take optional flavors as input that modulate their behavioir. Passing them is not mandatory,
a default one will be selected for you.*

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 KiB

View file

@ -0,0 +1,27 @@
library(tidyverse)
library(ggpmisc)
library(scales)
read_csv("s3billion-dc-gros-32threads-256batchsize-128000batchcount-v0.8-fix-time-30M.csv") %>% mutate(batch_dur_sec = batch_dur_nanoseconds / 1000 / 1000 / 1000) %>% filter(total_objects != 0) -> s
reg <- lm(s$batch_dur_sec~s$total_objects)
f <- y~x
ggplot(s, aes(x=total_objects, y=batch_dur_sec)) +
geom_point(shape = "bullet", alpha=0.4) +
geom_smooth(method="lm", formula=f, se = FALSE, color="blue") +
scale_x_continuous(expand=c(0,0), breaks = scales::pretty_breaks(n = 10), labels = unit_format(unit = "M", scale = 1e-6)) +
scale_y_continuous(expand=c(0,0), breaks = scales::pretty_breaks(n = 10)) +
coord_cartesian(ylim=c(0,3)) +
labs(
y="Time (in sec) spent sending a batch (8192 objects)",
x="Total number of objects stored in the cluster",
caption="Get the code to reproduce this graph at https://git.deuxfleurs.fr/Deuxfleurs/mknet",
title="Storing 30M small objects in Garage!",
subtitle="Daemon: Garage v0.8.0-rc1 (+ #398 pull request) with LMDB as db_engine\nBenchmark: 8192 objects/batch. 32 threads/batch. 256 objects/thread. 16-byte/objects.\nEnvironment: mknet on Grid'5000 (gros) https://www.grid5000.fr/w/Nancy:Hardware#gros (SATA SSD).\nDC topo (3 logical nodes, 1Gb/s, 1ms latency).") +
theme_classic()
ggsave("./garage-0.8-gros.png", width=200, height=120, units="mm")
#ggsave("./garage-regression.png", width=200, height=120, units="mm")

View file

@ -23,7 +23,7 @@ os.chdir(me)
print("--- install python dependencies ---")
venv.create(".venv", with_pip=True)
shared.exec("""
source .venv/bin/activate
. .venv/bin/activate
which python3
python3 -m pip install .
python3 -m pip install -r scenarios/requirements.txt
@ -36,6 +36,6 @@ flavor.download()
print(f"""done! now, run:
> sudo -i
> cd {os.getcwd()}
> source ./.venv/bin/activate
> . ./.venv/bin/activate
> ./mknet scenario ./topo/with-vdsl.yml ./scenarios/garage-s3lat garage-v0.8
""")