StackExchange Redis - WriteAllQueues 上的高 CPU 使用率

StackExchange Redis - high CPU usage on WriteAllQueues

在分析 Web api 应用程序时,我注意到热点部分调用了 StackExchange.Redis.SocketManaget.WriteAllQueues。出于测试目的,我禁用了缓存,我什至没有创建 ConnectionMultiplexer,但仍然在热点中显示对 WriteAllQueues 的相同调用。我什至尝试在没有加载的情况下分析我的应用程序,但热点部分仍然显示相同的调用。是探查器制造了一些虚假的热点吗?我在 .NET Framework 4.6 上使用 dotTrace 2018.2.3 和 StackExchange.Redis 2.0.519。

DotTrace 有几种不同的测量执行时间的方法:

默认情况下,dotTrace 选择 "Real time"。找出您的代码执行时间如此之长的原因很有用。但是,它不代表 CPU 用法,因为线程可能正在休眠。 如果您想优化 CPU 用法,请确保改用 "Thread time" 或 "Thread cycle time"。