Hello, I setup an HA Postgres cluster following Postgres on Fly and I noticed that after a few hours outbound data transfer is reported to be over 290MB.
I have a almost totally idle Elixir/Phoenix app connected to the database and I’m wondering if the outbound traffic is all caused by my app (possible but I wouldn’t have expected such an high usage from and idle app) or if it could be due to the cluster activity/metrics collection.
I’m also not sure what outbound means in this context. Is data going outside of the Fly network or is it data leaving a Fly application/replica?
This is a little confusing. “Outbound data transfer” is just transmit data from your VM interfaces. So it does include replication and data between your application and database.
We need to do some networking work to account for “internal” vs “external” data, hopefully we get this cleaned up in the next couple of months.
This is a completely fresh, empty DB cluster. No data has been stored yet, there are 0 tables. My first thought seeing this amount of “outbound” data transfer is that somehow it’s been attacked and I’m going to get a large bill at the end of the month.
I’m also seeing high numbers here on a database with almost no data and very few users. Could there be something related to stolon going on here? I have two replicas setup (just for testing Fly) but they all have very little data.
Just to clarify here:
Does the cost differ for cross-region traffic?
Should being charged for in-region data transfer be taken as an encouragement to optimize application->db communication?
Stolon and replication do a lot of traffic, even on idle DBs. It doesn’t really scale with usage but it’s kind of a scary number.
We’re going to turn off billing for postgres data transfer until we can otherwise exclude in region traffic. We’ll have to charge a (reduced) cross region rate at some point, but there’s no reason y’all should have to wait on us to do more networking work to reap those benefits.
Thanks. I just stared using Fly a couple of days ago, so I’ve yet to see how the billing works.
I did have one deployment I was considering that may result in a decent amount of in-region and cross-region traffic between systems (not postgres), so I’m looking forward to seeing what you implement for pricing of the traffic that isn’t leaving your network.