Limits of Elixir Registry

I am reading on the Elixir Registry and trying to understand how to evaluate its limits. To my understanding it uses a two element tuple to track processes. These are persisted in an ETS table. Is there an upper limit to the ETS table? Would you be able to store millions of process which are tracked in the Registry?

It might not directly address your question, but there’s quite a detailed look at related performance bottlenecks here: https://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections

Edit: I also googled “ets erlang limits” - first hit seems to indicate the limits are “big” (e.g. 190million entries still performs ok, but as always, depends on your usage scenario)

5 Likes

There is no limit on ETS sizes, though the default limit for processses is ~250k, so you need to increase that one first :smiley:

https://erlang.org/doc/efficiency_guide/advanced.html#system-limits

2 Likes

This is great information - thank you.

Thank you - this guide is what I was looking for. :grinning: