I am building an app with node.js and fly.io. I have a website and from this website I want to send a request to my app via a contact form. That means when someone submits my contact form a request is sent to my fly.io app and from that the sent will be processed.
So my question is: How many requests can a fly.io app handle without having a paid plan?
I mean, can a app handle for example 100 request per minute without breaking down?
It only depends on your application. Can a single instance of your app handle 100 requests per minute?
It depends on what your endpoint does. For most applications, the bottleneck is not the cloud application platform.
For example, applying some queuing theory, the theoretical maximum throughput is
running instances / avg response time. So if it takes avg ~100ms to process the contact form data, then your app can handle ~10 requests per second. Don’t take this number to heart, it’s just an example.
To expand on what @containerops is saying, if the question is “can Fly.io infra handle 100 reqs per minute” the answer is yes, definitely. It comes down to whether or not the application you are running can handle 100 reqs per minute.
Thank you @DAlperin for your answer!
Thank you, but I have another question:
What if my app can handle 10 requests per minute, what happens then when 12 requests per minute come in? Are the tasks being queued?
Excellent question. I don’t know Fly’s specifics, but surely @DAlperin can help us.
There are many places where requests might be queued. For example, puma (default server for Rails) queues requests “inside” the application until a thread is available to handle it.
I’ve read that Fly provides a managed autoscaling solution for free. I didn’t dig deep into it, but I believe Fly’s load balancer can automatically spin new instances of your application based on a concurrency threshold. So if your app can handle ~10 requests per minute, you can spawn a second instance to handle ~12 requests per minute, then scale down afterwards.
Does fly.io automatically spawn a second instance?