So, I am trying to back up my pg database using fly proxy and it now takes over an hour to back up and download a 500MB database. 48 hours ago this took 2, maybe 3, minutes.
Am I suddenly doing something wrong, or has something gone horribly wrong from fly.io’s side?
If this was a migration, then the volumes might still be in the slower “hydrating” state:
On a different tack, a couple other users mentioned similarly poor download speeds in the past few days; one had good luck with switching to kernel-mode WireGuard instead.
(I wonder whether a surge in volume migrations as regions are being shutdown is reducing effective network capacity, …)
It does seem like they’ve started auto-migrating apps that have volumes from sea → sjc recently, but I’m just inferring that from forum traffic, pretty much. (I.e., no inside scoop there.)
The blog post above didn’t really give a specific schedule…
Hm… If the 30 minutes is onerous, rather than just disappointing, there’s a slightly different method you could try in the interim. This compresses on the remote Machine before attempting transfer:
Moreover, since that download is a distinct step, it is natural to use SFTP or rsync, both of which are better at WAN connections than the Postgres protocol is. (Possibly, part of what is hurting performance suddenly is the sjc ↔ sea latency added into each operation.)
A different user had luck with just uploading the dump file to Tigris from within the remote Machine, …
Yeah, no. That’s waaaay too much work and thought for a process that should take neither. Believe it or not, it would be both easier and faster, on the long run, to switch providers. I already have my Hetzner machines on standby. I’ll just wait a few before pulling the trigger.
Your database machines were migrated from sea to sjc as part of region consolidation, we sent an e-mail about this on September 25th and there’s more information here.
We’ve seen a couple of reports of slow Postgres operations via fly proxy on migrated machines, it’s something we’re tracking down - so thanks for reporting this, we’ll have a look at whether something looks odd in your configuration and that might explain the slowness. In the meanwhile, using wireguard is something a few other affected users have had success with, it’s explained here and then you do your pg dump to your-postgres-app.internal:5432 instead of localhost:(proxied-port). But rest assured we’ll look at the fly proxy slowness.