Can Phoenix controllers easily be blocked?

You generally can block more in Phoenix than in say, Rails. You can have hundreds if not thousands concurrent connections and Phoenix will just wait very efficiently on I/O.

It gets slightly more hairy if the I/O you are waiting for is a database call. Then, you will reach the number of connections in the pool and the other requests will block.

The same can happen if you are using a HTTP client to do that order_status call that has a fixed upper limit on number of workers.

But in principle it’s more fine than in many other environments.

2 Likes