记一次 .NET某网络边缘计算系统 卡死分析
💡
原文中文,约7400字,阅读约需18分钟。
📝
内容提要
网络边缘计算是一种将计算能力和数据存储位置从传统的集中式数据中心向网络边缘移动的计算模型。本文通过WinDbg分析了一个Linux上部署的Web网站的卡死问题,发现是线程饥饿导致的。通过分析线程池和线程栈,发现线程池没有积压,定时器周期为3秒。这个问题在Linux上的dump中解决了。
🎯
关键要点
- 网络边缘计算将计算能力和数据存储从集中式数据中心移动到网络边缘,旨在减少数据传输延迟,提高服务质量。
- 通过WinDbg分析发现Linux上部署的Web网站卡死问题是由于线程饥饿导致的。
- 分析线程池和线程栈后发现,线程池没有积压,且定时器周期为3秒。
- 在分析中发现193个线程在Task.Result上等待,导致代码卡死。
- 线程池的GateThread机制可以动态注入线程,缓解线程饥饿,但在此案例中没有出现请求积压。
- 总结认为该卡死问题相对容易解决,分享了在Linux环境下的分析经验。
➡️