34

Powered by .NET Core 进展0819:高速开车车况汇报团队

 4 years ago
source link: https://www.cnblogs.com/cmt/p/11375246.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Powered by .NET Core 进展0819:高速开车车况汇报

35695-20190819173208946-176210368.jpg

 

继续以流水账的方式向大家汇报,自从上周六上午将 .net core 版博客站点从 windows 部署切换到 linux 上的 docker-compose 部署后,到目前一直在线。

Linux 上没有出现在 windows 上遇到的一夜之后内存占用持续过高的 GC 偷懒情况,但这并不能说明 .net core gc 在 windows 有问题,可能是由于某种情况让 gc 觉得不需要回收,由于我们的 .net core 版博客系统只会部署在 linux 上,所以 windows 上的问题不继续排查。

数据库服务器 CPU 100% 还是会出现,问题非常奇怪,而且很难复现,目前排查没有进展。上周五下午 18:00 左右,遇到的 CPU 100% 问题更是诡异,服务器没有接入流量,在容器启动后一个 curl 请求就让数据库服务器 CPU 100%,也有可能是巧合。

在 Linux 上遇到了一个新的问题,有时阿里云负载均衡会报 502 错误,刷新一下就会好,.NET Core 日志中没有对应的日志,目前还没找到问题的线索。

我们遇到的高并发性能问题也引起了微软 .NET Core 团队的关注,并得到了他们的技术支持,帮我们分析了通过 dotnet-trace 收集的 profile 数据(收集数据期间没有发生数据库 CPU 100%), 但没有发现问题的线索。

dotnet-trace 在容器内收集 prfile 数据的命令如下

export PATH="$PATH:/root/.dotnet/tools
dotnet-trace list-processes
dotnet-trace collect --process-id <pid> --providers Microsoft-Windows-DotNETRuntime

注:容器需要使用 .net core sdk 镜像才能安装 dotnet-trace 。

今天上午下午的访问高峰,行驶平稳。

对于 100% 与 502 问题,我们会进一步排查。

另外,我们也在优化程序减少 CPU 的消耗。

更新:

502 问题怀疑是负载均衡中某台服务器 CPU 出现波动突然跳到 100% ,如果用的是 windows ,表现是 503 ;现在用的是 linux ,表现就是 502 。

Powered by .NET Core 系列博文:

园友相关博文:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK