Single-node Elixir project scale

Hi everyone

For those running an Elixir monolith (Phoenix/Umbrella project or not) on a single-node, I was wondering what kind of scale you guys were capable of achieving, with what kind of compute instance?

Cheers

I don’t have any numbers for you, but given Phoenix speed and available instance sizes, you will have hard time outgrow even a single box. What kind of application are you building? If it’s not a next WhatsApp, then by all means one node will be enough.

Thanks for the answer! With all due respect that generic line of thinking would apply to all langs/frameworks anyways: “Statistically you most likely won’t outgrow X”.

Assume I am asking this question for my own personal technical curiosity.

this is true, and yet there may be very good reasons for running > 1 instance despite that. For example, if you run a system that’s heavy on websocket connections, like Absinthe subscriptions, you may want to avoid the situation where all of them drop & reconnect at the same time (i.e. when you deploy or restart the single instance) and, having multiple nodes that shut down / restart one at a time may be reason good enough to do so. Single node is a single point of failure, single bottleneck etc.

On the other hand two nodes in a cluster or not are another set of problems. So yeah, trade offs, trade offs everywhere.

Going back to the subject: you can achieve a lot on one node. I have seen / worked with instances using 32GB RAM and dozen cores. It scales very well on single node, but you also end up with system-level issues like you hit the limits of open file descriptors etc. Nothing that can’t be tweaked.

1 Like

On the latest ElixirTalk the Boulevard CTO says that they stayed on a single Heroku dyno up until this summer (if I recall correctly). Unfortunately don’t think he gives any concrete numbers, although those wouldn’t be helpful since so much depends on what the applicant is doing.

I think launching with a single node is a very viable strategy with Elixir, although as Hubert mentions it depends on your business domain.

3 Likes