Follow me to hear about...
💎 Ruby on Rails
🚀 Heroku & PaaS
💸 Independent SaaS
Also on LinkedIn: https://www.linkedin.com/in/adamlogic/
tldr: Got a high-memory job that pushes you to perf dynos? Isolate it and scale to zero.
tldr: Got a high-memory job that pushes you to perf dynos? Isolate it and scale to zero.
Stability is boring, repeatable choices.
Here's what we've learned 👉 judoscale.com/blog/autosc...
Stability is boring, repeatable choices.
Here's what we've learned 👉 judoscale.com/blog/autosc...
If your app gets hit with big surges of traffic all at once, even the fastest queue-time autoscaler might not spin up capacity in time to avoid slowdowns or timeouts.
If your app gets hit with big surges of traffic all at once, even the fastest queue-time autoscaler might not spin up capacity in time to avoid slowdowns or timeouts.
Your task queue can back up without CPU spikes, leaving you in the dark.
Check out Jeff's full Celery & RQ comparison here:
judoscale.com/blog/choose...
Your task queue can back up without CPU spikes, leaving you in the dark.
Check out Jeff's full Celery & RQ comparison here:
judoscale.com/blog/choose...
🧠 Celery: Feature-rich but complex
🚀 RQ: Simple & easy to deploy
Jeff's advice: Most apps do fine with RQ until they need more horsepower. Then consider making the switch to Celery.
🧠 Celery: Feature-rich but complex
🚀 RQ: Simple & easy to deploy
Jeff's advice: Most apps do fine with RQ until they need more horsepower. Then consider making the switch to Celery.
And with autoscaling in place, we don't really need to worry about it. New machines are being created with fresh burst balances when needed, spreading the load allowing balances to rebuild.
And with autoscaling in place, we don't really need to worry about it. New machines are being created with fresh burst balances when needed, spreading the load allowing balances to rebuild.
It's the bursting!
Shared machines have a "burst balance" where they can use 100% CPU. Once the balance is depleted, CPU is throttled to 1/16.
It's the bursting!
Shared machines have a "burst balance" where they can use 100% CPU. Once the balance is depleted, CPU is throttled to 1/16.
- How are they so cheap?
- Why do I need so many of them?
- Why does perf tank after 10 minutes?
Turns out it's well-documented: "shared" machines only get 1/16 of each CPU!
fly.io/docs/machin...
- How are they so cheap?
- Why do I need so many of them?
- Why does perf tank after 10 minutes?
Turns out it's well-documented: "shared" machines only get 1/16 of each CPU!
fly.io/docs/machin...
EXAMPLE: A 4-process, single-threaded web server should use a hard limit of 4 since that's the max concurrent requests. A soft limit of 1-2 would help route requests to less busy machines.
EXAMPLE: A 4-process, single-threaded web server should use a hard limit of 4 since that's the max concurrent requests. A soft limit of 1-2 would help route requests to less busy machines.
Unlike random routing on platforms like Heroku, Fly can intelligently route requests to machines based on a load. Here are the configs you need to know...
Unlike random routing on platforms like Heroku, Fly can intelligently route requests to machines based on a load. Here are the configs you need to know...
And for queues with an SLO > 30 seconds, that number drops to zero.
And for queues with an SLO > 30 seconds, that number drops to zero.
Preech it, Jeff! From the Honeybadger blog: www.honeybadger.io/blog/rails-...
Preech it, Jeff! From the Honeybadger blog: www.honeybadger.io/blog/rails-...
Carlos helps me level-up as a developer and feel more relaxed and confident as a founder. And with him Judoscale is a better product than ever.
Thanks, Carlos! 🥂
Carlos helps me level-up as a developer and feel more relaxed and confident as a founder. And with him Judoscale is a better product than ever.
Thanks, Carlos! 🥂
judoscale.com/blog/propsh...
judoscale.com/blog/propsh...
We use both at Judoscale, and even though each of these are simple in isolation, it's crucial to understand how they work together.
radanskoric.com/articles/ra...
We use both at Judoscale, and even though each of these are simple in isolation, it's crucial to understand how they work together.
radanskoric.com/articles/ra...
Each queue is isolated, meaning one queue can't starve another.
Simple, safe, efficient.
Each queue is isolated, meaning one queue can't starve another.
Simple, safe, efficient.