Issues when using DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS and DangerousInlinePipeScheduling #28356
Labels
area-networking
Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions
Giving some feedback as per @davidfowl request from twitter.
Enabling both options gave my app a ridiculous performance boost (2-3x), i think most gains come from not enqueuing in the threadpool, most of the cpu usage is now on the
SocketAsyncEngine
threads. (more on this issue at dotnet/runtime#44449).The problem that i came across is that after some time, the app would die with timeouts from everything that was using a socket.
My guess is that something is deadlocking on the
SocketAsyncEngine
threads, killing one by one until all threads were blocked.After chasing every line of code that could be the culprit, i managed to make it stable long enough that i saw this problem on one machine out of 100s once a week, but its still there. My guess is that now something on a third party lib (this app uses postgres) or maybe even the BCL (i think dns is still sync?) could be the culprit.
The text was updated successfully, but these errors were encountered: