mknet/analyse.R
2021-12-08 14:41:12 +01:00

28 lines
No EOL
1.2 KiB
R

install.packages("tidyverse")
install.packages("svglite")
library(tidyverse)
library(svglite)
read_csv("50ms.garage.csv") %>% add_column(daemon="garage 0.5.0") -> a
read_csv("50ms.minio.csv") %>% add_column(daemon="minio RELEASE.2021-11-24T23-19-33Z") -> b
bind_rows(a,b) %>% group_by(daemon,op) %>% summarise(
time_mean = mean(time),
time_max = max(time),
time_min = min(time)
) -> c
ggplot(c, aes(x=op,y=time_mean,fill=daemon,ymin=time_min,ymax=time_max)) +
geom_bar(stat="identity", position=position_dodge(),color="black") +
geom_errorbar(position=position_dodge(.9),width=.2) +
scale_y_continuous(expand=c(0,0))+
coord_flip() +
labs(
x="S3 Endpoint",
y="Latency (ms)",
fill="Daemon",
caption="Get the code to reproduce this graph at https://git.deuxfleurs.fr/quentin/benchmarks",
title="S3 endpoint latency in a simulated geo-distributed cluster",
subtitle="100 measurements, 5 nodes, 100ms RTT + 20ms jitter between nodes\nno contention: latency is due to intra-cluster communications\ncolored bar = mean latency, error bar = min and max") +
theme_classic() +
ggsave("endpoint-latency.png", width=200, height=110, units="mm")