做梦也没有想到:Windows 上的 .NET Core 版博客系统表现更糟糕

  • 时间:
  • 浏览:0
  • 来源:大发快3_快3概率_大发快3概率

昨天晚上 18:15 左右亲戚亲戚让当当我们都当当我们都发布了跑在 Windows 上 .NET Core 博客系统,本想与 .NET Framework 版进行同“窗”的较量,结果刚发布上线就发现 CPU 占用异常高,发布不可以1小时就下线了,根本都不 另有一个多 级别的较量,可能性说 .NET Core 连较量的资格都没办法 ,刚上台就趴下了。

可能性与 Linux 上的 .NET Core 博客系统(docker swarm 与 docker-compose 部署最好的依据 )相比,也是都不 另有一个多 级别的较量,部署在 Linux 上时是访问高峰撑不住,而部署在 Windows 上连访问低峰都撑不住。

在昨天发布失败后,亲戚亲戚让当当我们都当当我们都怀疑 CPU 异常高可能性是可能性 memcached 客户端 EnyimMemcachedCore 使用异步最好的依据 时的并发性能问题报告 ,于是亲戚亲戚让当当我们都当当我们都把异步改为同步。

今天亲戚亲戚让当当我们都当当我们都在验证与非 EnyimMemcachedCore 的并发性能问题报告 时,亲戚亲戚让当当我们都当当我们都采用了新的最好的依据 ,接入次责流量,让单台服务器的 QPS 达到一定值,结果发现了另外另有一个多 做梦也没办法 想到的问题报告 。

在 QPS 不高时,跑在 Windows 上的 .NET Core 博客站点表现非常出色,响应数率迅速;也不 当 QPS 高于一定值(亲戚亲戚让当当我们都当当我们都测试时接入的流量让 QPS 在 3000-30000 左右),.NET Core 博客站点像变了此人 似的,一定量请求响应数率加快数率,也不 随着时间推移没办法 慢(并都不 泄漏问题报告 ),先是什么都有请求响应时间5秒左右(亲戚亲戚让当当我们都当当我们都是从5秒现在现在结束了了 监控的),也不 是10秒左右,也不 是15秒左右。。。也不 日志中出现一定量下面的错误

2019-08-14 13:13:16.290 [Error] Failed executing DbCommand ("300,022"ms)
System.Data.SqlClient.SqlException (0x3000131904): Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
 ---> System.ComponentModel.Win32Exception (258): The wait operation timed out.
   at System.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__126_0(Task`1 result)
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)

EF Core 执行的什么都有 SQL 查询超时(超过300秒),而 EF Core 生成的有有哪些 SQL 句子没办法 问题报告 ,亲戚亲戚让让当当我们都当当我们都 review 过。

查看数据库服务库的监控,愿意大吃一惊,就这点 QPS ,仅仅可能性 .NET Core 在 Windows  上跑竟然造成数据库服务器 CPU 3000% 。

而假如将 .NET Core 博客站点一下线,数据库服务器 CPU 就立马恢复正常,问题报告 非常奇怪。

今天微软也发布了 .NET Core 3.0 Preview 8 ,亲戚亲戚让当当我们都当当我们都将 System.Data.SqlClient 升级到 4.7.0-preview8.19405.3 也是同样的问题报告 。

亲戚亲戚让当当我们都当当我们都的数据库服务器用的是阿里云 RDS SQL Server 30008 R2 ,EF Core 用的是 3.0.0-preview5.19227.1 ,可能性 EF Core 3.0 从 Preview 6 现在现在结束了了 不支持 UseRowNumberForPaging ,什么都有暂时无法升级到 EF Core 3.0 Preview 8 ,不知道最新版的 EF Core 与非 都不 你这些问题报告 ,但亲戚亲戚让当当我们都当当我们都怀疑应该是 System.Data.SqlClient 的问题报告 ,合适是 System.Data.SqlClient 对 Windows 的支持问题报告 ,可能性是对 SQL Server 30008 R2 的支持问题报告 。

.NET Core 升级之路又遇新障碍。

接下来,亲戚亲戚让当当我们都当当我们都会进一步排查这 2 个 CPU 高的问题报告 (web服务器与数据库服务器)。

EF Core 与 SqlClient 相关问题报告 链接:

  • 坑暗花明:又遇 .NET Core 中 System.Data.SqlClient 查询缓慢的问题报告
  • 好大另有一个多 坑: EF Core 异步读取大字符串字段比同步慢3000多倍

Powered by .NET Core 系列博文:

  • 【故障公告】发布 .NET Core 版博客站点引起一定量 30000 错误
  • 【网站公告】.NET Core 版博客站点第二次发布尝试
  • 暴风雨中的 online : .NET Core 版博客站点遭遇的高并发问题报告 进展
  • Powered by .NET Core 进展:验证高并发性能问题报告 嫌疑犯 docker swarm
  • 同“窗”的较量:部署在 Windows 上的 .NET Core 版博客站点发布上线