You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Timer is used by many functions in the library. What we found is if the request rate is very high, around 30% of CPU is for lock contention. Is there a way to optimize? I know the issue with Timer is fixed in .net core and HashedWheelTimer is implemented in dotnetty.
The text was updated successfully, but these errors were encountered:
mikelchai
changed the title
contention lock is extremely high when the request rate is high
lock contention is extremely high when the request rate is high
Nov 8, 2018
Are there any updates to this issue? We've observed in some of our scenarios similar lock contention by the Amqp producer when targeting .Net Framework 4.7.2.
Update, learned about a .Net Framework patch that fixes the problematic timer call stack and had some small improvements.
We are still observing (and investigating) lock contention in the amqp WriteBuffer call in this scenario, where a single connection is writing to many partitions (>500):
The I/O operations on a connection have to be synchronized. There may be some improvements we can do for it, but can you create more connections and distribute the partitions among them? I assume you have 500 senders to the partitions but they share the same connection. If most of them are busy, eventually the connection will be the bottleneck, even if we improve the lock contention for the I/O operations.
Timer is used by many functions in the library. What we found is if the request rate is very high, around 30% of CPU is for lock contention. Is there a way to optimize? I know the issue with Timer is fixed in .net core and HashedWheelTimer is implemented in dotnetty.
The text was updated successfully, but these errors were encountered: