《.NET 5.0 背锅案》第4集:一个.NET,两手准备,一个issue,加倍关注
- 第1集:验证 .NET 5.0 正式版 docker 镜像问题
- 第2集:码中的小窟窿,背后的大坑,发现重要嫌犯 EnyimMemcachedCore
- 第3集-剧情反转:EnyimMemcachedCore 无罪,.NET 5.0 继续背锅
- 第4集:一个.NET,两手准备,一个issue,加倍关注
考虑到案情的复杂性与戏剧性,今天我们进行了第2手准备,从基于 .NET 5.0 的最新版博客系统修改出 .NET Core 3.1 版。之前回退的 .NET Core 3.1 版是10月14日生成的,中间相差了30多个发布,降级太多,不能长时间在线上使用,有了最新的 .NET Core 3.1 版,一是做好长期破案准备,二是确认一下是否是中间的代码修改造成的问题,今天晚上8点左右会发布这个 .NET Core 3.1 版。
今天,我们在 .NET 5.0 的总部看到一个11月15日提交的issue,被开头的 description 吸引:
Performance issues observed in a web application when one of API end point starting responding slow due to slow file share dependency. But it triggered unexpected behavior which we have not seen before, i.e. 503, time out (Redis) exceptions & intermittent hangs. Primarily due to GC Thread is blocked by another thread.
问题表现与我们遇到的类似,虽然 github 上反馈的这个问题是在 .NET Framework 4.7.1 上出现的,但 .NET 5.0 是 .NET Framework 与 .NET Core 的统一,所以不能说毫不相关,微软已经为这个 issue 打上了 area-VM-coreclr
标签,值得加倍关注。