aboutsummaryrefslogtreecommitdiff
path: root/artifacts/2022-09-24-s3billion/plot.R
blob: 2baf70dca9379213431225059939863c4ed7f2d4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
library(tidyverse)


read_csv("garage-v0.8-beta2-lmdb.csv") %>% mutate(batch_dur_sec = batch_dur_nanoseconds / 1000 / 1000 / 1000 ) -> s
ggplot(s, aes(x=total_objects, y=batch_dur_sec)) +
  geom_point() +
  geom_smooth(method = "gam", se = FALSE) + 
  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 Garage! Impact of existing data on cluster interactiveness",
    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()
ggsave("./garage.png", width=200, height=120, units="mm")



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() +
  geom_smooth(method = "gam", se = FALSE) + 
  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() +
  geom_smooth(method = "gam", se = FALSE) + 
  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))
ggsave("./plot.png", width=200, height=120, units="mm")