3 ms·
In a language that uses forking to achieve parallelism, terminating multiple tasks at the same endpoint will cause those tasks to compete. For some workflows th
by hinkley 2y ago
In a language that uses forking to achieve parallelism, terminating multiple tasks at the same endpoint will cause those tasks to compete. For some workflows that may be a feature, but for most it is not.
So that's Python, Ruby, Node. Elixir won't care and C# and Java... well hopefully the HTTP/2 library takes care of the multiplexing of the replies, then you're good.
- neonsunset 2y agoI don't think any serious implementation would do forking when using HTTP/2 or QUIC. Fork is a relic of the past.
- dgoldstein0 2y agoA good python web server should be single process with asyncio , or maybe have a few worker threads or processes. Definitely not fork for every request
- hinkley 2y agoYour response explains the other one, which I found just baffling. I didn't say forking per request, good god. I meant running a process per core, or some ratio to the cores to achieve full server utilization. Limiting all of HTTP/2 requests per user to one core is unlikely to result in good feelings for anybody. If you let nginx fan them out to a couple cores it's going to work better. These are not problems Java and C# have.