diff --git a/analyse.R b/analyse.R index 6ddf845..2fa678b 100644 --- a/analyse.R +++ b/analyse.R @@ -1,6 +1,28 @@ +install.packages("tidyverse") +install.packages("svglite") library(tidyverse) -read_csv("50ms.garage.csv") -> a -ggplot(a, aes(x=op,y=time)) + - geom_violin(adjust = .5,draw_quantiles = c(0.25, 0.5, 0.75)) + - labs(title="Garage v0.5.0 Endpoint Latency\n(5 nodes, 100ms RTT between nodes, 20ms jitter, bars = Q1,median,Q3)", x="S3 Endpoint Name", y="Latency (ms)") + - theme_classic() +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") + \ No newline at end of file