2022-09-24 15:01:34 +00:00
|
|
|
library(tidyverse)
|
2022-09-28 12:59:18 +00:00
|
|
|
library(ggpmisc)
|
2022-09-24 15:01:34 +00:00
|
|
|
|
2022-09-26 15:05:56 +00:00
|
|
|
|
2022-09-28 12:59:18 +00:00
|
|
|
read_csv("garage-v0.8-beta2-lmdb.csv") %>% mutate(batch_dur_sec = batch_dur_nanoseconds / 1000 / 1000 / 1000) %>% filter(total_objects != 0) -> s
|
|
|
|
|
|
|
|
reg1 <- lm(s$batch_dur_sec~s$total_objects)
|
|
|
|
reg2 <- lm(s$batch_dur_sec ~ log(s$total_objects))
|
|
|
|
|
|
|
|
f1 <- y~log(x)
|
|
|
|
f2 <- y~x
|
|
|
|
|
2022-09-24 15:01:34 +00:00
|
|
|
ggplot(s, aes(x=total_objects, y=batch_dur_sec)) +
|
|
|
|
geom_point() +
|
2022-09-28 12:59:18 +00:00
|
|
|
#geom_smooth(method="lm",formula=f1, se = FALSE, color="red") +
|
|
|
|
#geom_smooth(method="lm",formula=f2, se = FALSE, color="blue") +
|
|
|
|
#stat_poly_eq(formula = f1, label.y = 0.9, color = "red", aes(label=paste(..eq.label..,..rr.label..,..adj.rr.label..,..AIC.label..,..BIC.label.., sep = "~~~"))) +
|
|
|
|
#stat_poly_eq(formula = f2, label.y = 0.8, color="blue",aes(label=paste(..eq.label..,..rr.label..,..adj.rr.label..,..AIC.label..,..BIC.label.., sep = "~~~"))) +
|
|
|
|
#geom_smooth(method = "gam", se = FALSE) +
|
2022-09-24 15:10:33 +00:00
|
|
|
scale_x_continuous(expand=c(0,0), breaks = scales::pretty_breaks(n = 10))+
|
|
|
|
scale_y_continuous(expand=c(0,0), breaks = scales::pretty_breaks(n = 10))+
|
2022-09-28 12:59:18 +00:00
|
|
|
coord_cartesian(ylim=c(0,60)) +
|
2022-09-24 15:01:34 +00:00
|
|
|
labs(
|
2022-09-24 15:09:17 +00:00
|
|
|
y="Time (in sec) spent sending a batch (8192 objects)",
|
2022-09-24 15:01:34 +00:00
|
|
|
x="Total number of objects stored in the cluster",
|
|
|
|
caption="Get the code to reproduce this graph at https://git.deuxfleurs.fr/Deuxfleurs/mknet",
|
2022-09-26 15:05:56 +00:00
|
|
|
title="Storing 1M+ files in Garage! Impact of existing data on cluster interactiveness",
|
2022-09-24 15:06:43 +00:00
|
|
|
subtitle="Daemon: Garage v0.8 beta 2 with LMDB as db_engine\nBenchmark: 128 batch. 8192 objects/batch. 32 threads/batch. 256 objects/thread. 16-byte/objects.\nEnvironment: mknet (Ryzen 5 1400, 16GB RAM, SSD). DC topo (3 nodes, 1Gb/s, 1ms latency).") +
|
2022-09-24 15:01:34 +00:00
|
|
|
theme_classic()
|
2022-09-26 15:05:56 +00:00
|
|
|
ggsave("./garage.png", width=200, height=120, units="mm")
|
2022-09-28 12:59:18 +00:00
|
|
|
#ggsave("./garage-regression.png", width=200, height=120, units="mm")
|
2022-09-26 15:05:56 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
read_csv("minio.csv") %>% mutate(batch_dur_sec = batch_dur_nanoseconds / 1000 / 1000 / 1000 ) -> s2
|
|
|
|
ggplot(s2, aes(x=total_objects, y=batch_dur_sec)) +
|
|
|
|
geom_point() +
|
2022-09-28 12:59:42 +00:00
|
|
|
#geom_smooth(method = "gam", se = FALSE) +
|
2022-09-26 15:05:56 +00:00
|
|
|
scale_x_continuous(expand=c(0,0), breaks = scales::pretty_breaks(n = 10))+
|
|
|
|
scale_y_continuous(expand=c(0,0), breaks = scales::pretty_breaks(n = 10))+
|
|
|
|
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 1M+ files in Minio! Impact of existing data on cluster interactiveness",
|
|
|
|
subtitle="Daemon: Minio RELEASE 20220917\nBenchmark: 128 batch. 8192 objects/batch. 32 threads/batch. 256 objects/thread. 16-byte/objects.\nEnvironment: mknet (Ryzen 5 1400, 16GB RAM, SSD). DC topo (3 nodes, 1Gb/s, 1ms latency).") +
|
|
|
|
theme_classic()
|
|
|
|
ggsave("./minio.png", width=200, height=120, units="mm")
|
|
|
|
|
|
|
|
bind_rows(s %>% add_column(daemon="garage 0.8 beta2 lmdb"), s2 %>% add_column(daemon="minio RELEASE 20220917")) -> sc
|
|
|
|
ggplot(sc, aes(x=total_objects, y=batch_dur_sec, group=daemon, color=daemon)) +
|
|
|
|
geom_point() +
|
2022-09-28 12:59:42 +00:00
|
|
|
#geom_smooth(method = "gam", se = FALSE) +
|
2022-09-26 15:05:56 +00:00
|
|
|
scale_x_continuous(expand=c(0,0), breaks = scales::pretty_breaks(n = 10))+
|
|
|
|
scale_y_continuous(expand=c(0,0), breaks = scales::pretty_breaks(n = 10))+
|
|
|
|
labs(
|
|
|
|
y="Time (in sec) spent sending a batch (8192 objects)",
|
|
|
|
x="Total number of objects stored in the cluster",
|
|
|
|
fill="Daemon",
|
|
|
|
caption="Get the code to reproduce this graph at https://git.deuxfleurs.fr/Deuxfleurs/mknet",
|
|
|
|
title="Storing 1M+ files in Garage and Minio! Impact of existing data on cluster interactiveness",
|
|
|
|
subtitle="Daemon: Garage v0.8 beta 2 with LMDB as db_engine, Minio RELEASE 20220917\nBenchmark: 128 batch. 8192 objects/batch. 32 threads/batch. 256 objects/thread. 16-byte/objects.\nEnvironment: mknet (Ryzen 5 1400, 16GB RAM, SSD). DC topo (3 nodes, 1Gb/s, 1ms latency).") +
|
|
|
|
theme_classic() +
|
|
|
|
theme(legend.position = c(.85, .55))
|
2022-09-24 15:01:34 +00:00
|
|
|
ggsave("./plot.png", width=200, height=120, units="mm")
|