socketry / falcon

A high-performance web server for Ruby, supporting HTTP/1, HTTP/2 and TLS.
https://socketry.github.io/falcon/
MIT License
2.62k stars 79 forks source link

Single threaded in production #163

Closed singpolyma closed 2 years ago

singpolyma commented 2 years ago

We are currently used to using thin via rackup in production for single-threaded but evented (and thus concurrent) request handling with eventmachine.

We are curious about leaving eventmachine for ruby3. The documentation says that using falcon with rackup is not recommended, but is this just because it will be single-threaded? Since our code will all be async, that seems like not such a big deal and probably we can expect performance similar to thin when used in this way?

ioquatix commented 2 years ago

How many processor cores do you have on the instance and do you want to use them all?

singpolyma commented 2 years ago

I'm aware that a single ruby process won't use multiple cores, but our webapps are generally I/O bound not CPU bound so that's never been a concern.