Powered by .NET Core 進展0819:高速開車車況彙報

 

繼續以流水帳的方式向你們彙報,自從上週六上午將 .net core 版博客站點從 windows 部署切換到 linux 上的 docker-compose 部署後,到目前一直在線。html

Linux 上沒有出如今 windows 上遇到的一晚上以後內存佔用持續太高的 GC 偷懶狀況,但這並不能說明 .net core gc 在 windows 有問題,多是因爲某種狀況讓 gc 以爲不須要回收,因爲咱們的 .net core 版博客系統只會部署在 linux 上,因此 windows 上的問題不繼續排查。linux

數據庫服務器 CPU 100% 仍是會出現,問題很是奇怪,並且很難復現,目前排查沒有進展。上週五下午 18:00 左右,遇到的 CPU 100% 問題更是詭異,服務器沒有接入流量,在容器啓動後一個 curl 請求就讓數據庫服務器 CPU 100%,也有多是巧合。docker

在 Linux 上遇到了一個新的問題,有時阿里雲負載均衡會報 502 錯誤,刷新一下就會好,.NET Core 日誌中沒有對應的日誌,目前還沒找到問題的線索。數據庫

咱們遇到的高併發性能問題也引發了微軟 .NET Core 團隊的關注,並獲得了他們的技術支持,幫咱們分析了經過 dotnet-trace 收集的 profile 數據(收集數據期間沒有發生數據庫 CPU 100%), 但沒有發現問題的線索。windows

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 問題,咱們會進一步排查。curl

另外,咱們也在優化程序減小 CPU 的消耗。ide

更新:

502 問題懷疑是負載均衡中某臺服務器 CPU 出現波動忽然跳到 100% ,若是用的是 windows ,表現是 503 ;如今用的是 linux ,表現就是 502 。

Powered by .NET Core 系列博文:

園友相關博文:

原文出處:https://www.cnblogs.com/cmt/p/11375246.html

相關文章
相關標籤/搜索