supabase / benchmarks

https://supabase.com
43 stars 2 forks source link

Benchmark Supabase (fly.io) #6

Open kiwicopple opened 3 years ago

kiwicopple commented 3 years ago

Chore

Results

Instance vCPU RAM Price Read Write Comments
AWS t3a.micro 2 1 $6.80 303/s 307/s
Fly micro-1x shared 128MB $2.67 171/s 235/s Reached request duration threshold
Fly micro-2x shared 512MB $8 206/s 277/s

Fly config

app = "postgrest"

[build]
  image = "postgrest/postgrest"

[[services]]
  internal_port = 3000
  protocol = "tcp"

  [services.concurrency]
    hard_limit = 25
    soft_limit = 20

  [[services.ports]]
    handlers = ["http"]
    port = "80"

  [[services.ports]]
    handlers = ["tls", "http"]
    port = "443"

  [[services.tcp_checks]]
    interval = 10000
    timeout = 2000

Read benchmarks

image

Write benchmarks

image

kiwicopple commented 3 years ago

Just to make sure I am running with the same amount of data in the benchmark database, and on the same hardware, here is my run for Supabase:

Read

image

Write

image

kiwicopple commented 3 years ago

TLDR

Setup:

Read

Write

Notes

awalias commented 3 years ago

why is your AWS run so much slower than my results

kiwicopple commented 3 years ago

I was wondering the same actually. I just ran this code against our Benchmarks project. Is that how you did it?

kiwicopple commented 3 years ago

Benchmarks on Fly micro 1x: not a huge difference in throughput, but it did result in some duration thresholds to drop out

image

image

kiwicopple commented 3 years ago

I'll add a comparison table to the top comment