To fit or not to fit

This commit is contained in:
Quentin 2022-09-28 14:59:18 +02:00
parent 7011ec431f
commit 1ae69c8e2a
Signed by: quentin
GPG key ID: E9602264D639FF68
5 changed files with 17 additions and 3 deletions

View file

@ -19,7 +19,7 @@ ggplot(c, aes(x=endpoint,y=time_mean,fill=daemon,ymin=time_min,ymax=time_max)) +
coord_flip() + coord_flip() +
labs( labs(
x="S3 Endpoint", x="S3 Endpoint",
y="Latency (ms)", y="Request duration (ms)",
fill="Daemon", fill="Daemon",
caption="Get the code to reproduce this graph at https://git.deuxfleurs.fr/Deuxfleurs/mknet", caption="Get the code to reproduce this graph at https://git.deuxfleurs.fr/Deuxfleurs/mknet",
title="S3 endpoint latency in a simulated geo-distributed cluster", title="S3 endpoint latency in a simulated geo-distributed cluster",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 KiB

After

Width:  |  Height:  |  Size: 232 KiB

View file

@ -1,12 +1,25 @@
library(tidyverse) library(tidyverse)
library(ggpmisc)
read_csv("garage-v0.8-beta2-lmdb.csv") %>% mutate(batch_dur_sec = batch_dur_nanoseconds / 1000 / 1000 / 1000 ) -> s 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
ggplot(s, aes(x=total_objects, y=batch_dur_sec)) + ggplot(s, aes(x=total_objects, y=batch_dur_sec)) +
geom_point() + geom_point() +
geom_smooth(method = "gam", se = FALSE) + #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) +
scale_x_continuous(expand=c(0,0), breaks = scales::pretty_breaks(n = 10))+ 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))+ scale_y_continuous(expand=c(0,0), breaks = scales::pretty_breaks(n = 10))+
coord_cartesian(ylim=c(0,60)) +
labs( labs(
y="Time (in sec) spent sending a batch (8192 objects)", y="Time (in sec) spent sending a batch (8192 objects)",
x="Total number of objects stored in the cluster", x="Total number of objects stored in the cluster",
@ -15,6 +28,7 @@ ggplot(s, aes(x=total_objects, y=batch_dur_sec)) +
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).") + 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).") +
theme_classic() theme_classic()
ggsave("./garage.png", width=200, height=120, units="mm") ggsave("./garage.png", width=200, height=120, units="mm")
#ggsave("./garage-regression.png", width=200, height=120, units="mm")