Autoscaling not distributing properly

Hey,

I am not able to get auto scaling to distribute properly. Here are my settings:

fly autoscale show
     Scale Mode: Standard
      Min Count: 6
      Max Count: 15
fly status
ID              PROCESS VERSION REGION  DESIRED STATUS  HEALTH CHECKS           RESTARTS        CREATED   
e16b8e5b        app     15      lhr     run     running 1 total, 1 passing      0               2m45s ago
8c758788        app     15      iad     run     running 1 total, 1 passing      0               2m45s ago
997f00d3        app     15      fra     run     running 1 total, 1 passing      0               4m23s ago
439c2b63        app     15      maa     run     running 1 total, 1 passing      0               5m32s ago
5f046226        app     15      fra     run     running 1 total, 1 passing      0               5m32s ago
a1f668b2        app     15      maa     run     running 1 total, 1 passing      0               8m4s ago 
fly regions list   
Region Pool: 
fra
hkg
iad
lhr
maa
sjc
Backup Region: 

I was under the impression that with standard, it would launch one in each region, and then scale up more based on traffic. Any ideas as to what’s going on?

I had a similar problem a while ago, do you think it’s the same thing? Autoscaling not distributing correctly

I’m currently comparing the performance around the world compared to render and while switching to fly + distributed postgres is better, it’s still pretty slow in some areas because they are not covered by an instance due to this issue.

Would love to get a benchmark when things are fixed. For example, I’m already seeing Frankfurt drop down from 700ms to less than 100 which is pretty cool, but California shot up from < 100 to 400 because there are no instances online from SJC

Autoscaling happens when there’s sustained (for a few minutes), significant, traffic to a region. This is based on your app’s soft limit.

Autoscaling is probably not being triggered by a monitoring system, but should be by real-world traffic.

The way regions currently work, we don’t guarantee app instances will be placed in all the specified locations. It’s a list of regions where Fly may put instances.

Right now, we don’t support a “minimum per region” setting. The only way to achieve this is via Anchor scaling (incompatible with autoscaling) or if you use --max-per-region with your fly scale count (fixed count, will not autoscale).

If this is only for benchmarking purposes: the best way would be to set a fixed count with a --max-per-region so you can get your instances exactly where you want them.

If this is for real-world traffic: you can tweak your soft limit so autoscaling is triggered more often.

I see, thanks for the clarification!