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

  • 时间:
  • 浏览:24
  • 来源:大发pk10_pk10开奖历史_大发pk10开奖历史

昨天晚上 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 在 200-2000 左右),.NET Core 博客站点像变了每个人似的,一定量请求响应效率变快,否则随着时间推移没人慢(某种泄漏难题),先是一点请求响应时间5秒左右(朋友是从5秒开始英语 英语 了了监控的),否则是10秒左右,否则是15秒左右。。。否则日志中经常出现一定量下面的错误

2019-08-14 13:13:16.290 [Error] Failed executing DbCommand ("200,022"ms)
System.Data.SqlClient.SqlException (0x200131904): 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 查询超时(超过200秒),而 EF Core 生成的那些 SQL 搞笑的话没人难题,朋友都 review 过。

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

而我希望将 .NET Core 博客站点一下线,数据库服务器 CPU 就立马恢复正常,难题非常奇怪。

今天微软也发布了 .NET Core 3.0 Preview 8 ,朋友将 System.Data.SqlClient 升级到 4.7.0-preview8.19405.3 也是同样的难题。

朋友的数据库服务器用的是阿里云 RDS SQL Server 2008 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 2008 R2 的支持难题。

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

接下来,朋友会进一步排查这 2 个 CPU 高的难题(web服务器与数据库服务器)。

EF Core 与 SqlClient 相关难题链接:

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

Powered by .NET Core 系列博文:

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

猜你喜欢

多项经济指标世界第一

图:深圳地铁今年3月上线金融IC卡.云闪付过闸服务资料图片高铁营业里程2018年铁路营业里程13.2万公里,其中高速铁路3万公里,分别居世界第二和世界第一;公路里程48十五万公

2019-12-10

纸上谈兵: 堆 (heap)

作者:Vamei出处:http://www.cnblogs.com/vamei欢迎转载,也请保留这段声明。谢谢!堆(heap)又被为优先队列(priorityqueue)。尽管

2019-12-10

安徽清代古建筑维修发现太平天国文书

核心提示:记者12日从安徽省桐城市博物馆获悉,在桐城市双港镇练潭老街,施工人员日前在维修清代古建筑袁家当铺时,发现了一批文书。经桐城市博物馆初步判定,此文书为太平天国的文书。记

2019-12-10

京东欲进军美国:股价应声大涨6%,市值首破700亿美元

据路透社北京时间1月27日报道,京东股价周五收盘大涨逾6%,创历史新高,市值首次突破700亿美元大关。早前有消息称,京东计划在今年年底前进军美国市场,首先登陆洛杉矶,但是 但

2019-12-10

首家试点民营银行将落户上海 复星均瑶为发起人

2014-05-1608:11  牛华网    我要评论()字号:T|T5月16日早间消息,上海银监局副局长马立新昨日透露,上海首家民营银行即将落户上海自贸区。该消息也获得了复

2019-12-10