forked from Deuxfleurs/mknet
Compare commits
5 commits
Author | SHA1 | Date | |
---|---|---|---|
db88b939c3 | |||
6d964937b3 | |||
|
c752ff7997 | ||
|
37040718ea | ||
|
d1c659924a |
5 changed files with 3846 additions and 2 deletions
|
@ -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.*
|
||||
|
|
BIN
artifacts/2022-09-29-s3billion/garage-0.8-gros.png
Normal file
BIN
artifacts/2022-09-29-s3billion/garage-0.8-gros.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 459 KiB |
27
artifacts/2022-09-29-s3billion/plot.R
Normal file
27
artifacts/2022-09-29-s3billion/plot.R
Normal 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")
|
||||
|
File diff suppressed because it is too large
Load diff
|
@ -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
|
||||
""")
|
||||
|
|
Loading…
Reference in a new issue