Replies: 1 comment
-
Up to a point, Falcon will handle slow connections just fine. However, as Falcon is a fully bi-directional streaming server, if you are doing work while streaming the request, you should consider whether this could negatively impact your application. For example, if you are incrementally processing the data where the internal state of this process uses a lot of memory, you may be better off to buffer all the incoming data and doing the process as quickly as possible. Otherwise your ability to handle a large number of simultaneous requests would be impacted. That being said, generally you should not have problems. In comparison to Puma, I personally believe Falcon has a more logical model or request and response streaming. In particular the way Puma handles persistent connections can cause problems, as demonstrated by this video: https://www.youtube.com/watch?v=2u6JRvKh7Dg This video lead to a subsequent security advisory here: GHSA-q28m-8xjw-8vr5 The scalability of any given application server is a reflection of its internal design choices and in this case the simplicity of Falcon is a clear advantage. |
Beta Was this translation helpful? Give feedback.
-
Puma uses epoll/kqueue currently but I think it can still get blocked by a lot of slow connections.
Beta Was this translation helpful? Give feedback.
All reactions