抱歉,又是一篇流水賬,在排查問題的焦頭爛額中寫博客的確是一個挑戰(zhàn),望大家見諒。
今天園友溪源More發(fā)了一篇博文博客園翻車啟示錄 <https://www.cnblogs.com/xiyuanMore/p/11361817.html>
,而翻車之后的最新進(jìn)展是——昨天下午我們又把 .net core 引擎的博客越野車開上了高速,現(xiàn)在依然行駛在高速上,今天上午我們邊開車邊給車換了個底盤,把
windows 換成了 linux(見頁腳"Powered by .NET Core 3.0 Preview 8 on
Linux"),從中發(fā)現(xiàn)雖然車勉強(qiáng)能開,但修車任務(wù)艱巨。
流水賬開始。
昨天下午,部署在 windows 上的 .net core 版博客站點(diǎn)成功扛過了訪問高峰,當(dāng)時用了7臺4核8G服務(wù)器,與 .net framework
版使用的服務(wù)器數(shù)量一樣。
由于在 windows 上發(fā)布太麻煩了,不僅要復(fù)制所要發(fā)布的文件,還要停止 IIS 站點(diǎn)才能復(fù)制,不然會出現(xiàn)下面的錯誤提示,這點(diǎn)比不上 .net
framework 。
cp: cannot create regular file '/c/websites/www.cnblogs.com-v2/Mapster.dll':
Device or resource busy
于是,昨天晚上我們就準(zhǔn)備 linux 上的 docker-compose 部署,并進(jìn)行了試發(fā)布,將1臺部署好的 linux 服務(wù)器加入了線上的負(fù)載均衡。
docker-compose pull docker-compose down --remove-orphans docker-compose
--compatibility up --force-recreate -d
之后出現(xiàn)的異常情況讓我們不敢自己的雙眼,數(shù)據(jù)庫服務(wù)器 CPU 100% 的問題在 Linux 上沒有使用 DbContextPool 的情況下昔日重來了。
2019-08-15 21:00:15.320 [Error] Failed executing DbCommand ("30,360"ms)
[Parameters=["..."], CommandType='Text', CommandTimeout='30']" ...
Microsoft.EntityFrameworkCore.Database.Command 2019-08-15 21:00:15.321 [Error]
An exception occurred while iterating over the results of a query for context
type '"EfUnitOfWork"'. System.Data.SqlClient.SqlException (0x80131904): Timeout
expired. The timeout period elapsed prior to completion of the operation or the
server is not responding. ---> System.ComponentModel.Win32Exception (258):
Unknown error 258 at
System.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__126_0(Task`1
result)
在殘酷的事實(shí)面前,我們不得不承認(rèn)我們錯怪了 DbContextPool ,這個詭異的問題是在某種未知的情況下偶然觸發(fā)的,昨天我們?nèi)サ?
DbContextPool 后沒有出現(xiàn)問題,只是因?yàn)闆]有觸發(fā)。
今天上午,我們將 docker-compose 部署 .NET Core 站點(diǎn)的 linux 服務(wù)器逐步上線了,在 11:00 左右全部換成了 linux
服務(wù)器,一共用了 6 臺服務(wù)器,扛過了上午的訪問高峰。.net framework 版博客用的也是 6 臺服務(wù)器,所以我們就默認(rèn)部署了 6 臺,linux
上的 .net core 版博客究竟多少臺服務(wù)器可以撐住,我們還沒有驗(yàn)證過。
其中 1 臺 linux 服務(wù)器的 CPU 占用情況如下:
今天早上還發(fā)現(xiàn)了 Windows 服務(wù)器的一個異常情況,一夜之后,8G的內(nèi)存幾乎被消耗殆盡,之前用 .net framework
版從來沒有出現(xiàn)過的問題,不知是昨天夜里 .net core GC 偷懶了,還是我們寫的代碼存在內(nèi)存泄露問題?
流水賬就寫到這。
接下來我們最艱巨的修車任務(wù)是排查數(shù)據(jù)庫服務(wù)器 CPU 100% 的詭異問題。
Powered by .NET Core 系列博文:
* 【故障公告】發(fā)布 .NET Core 版博客站點(diǎn)引起大量 500 錯誤
<https://www.cnblogs.com/cmt/p/11302666.html>
* 【網(wǎng)站公告】.NET Core 版博客站點(diǎn)第二次發(fā)布嘗試 <https://www.cnblogs.com/cmt/p/11316324.html>
* 暴風(fēng)雨中的 online : .NET Core 版博客站點(diǎn)遭遇的高并發(fā)問題進(jìn)展
<https://www.cnblogs.com/cmt/p/11328141.html>
* Powered by .NET Core 進(jìn)展:驗(yàn)證高并發(fā)性能問題嫌疑犯 docker swarm
<https://www.cnblogs.com/cmt/p/11335456.html>
* 同“窗”的較量:部署在 Windows 上的 .NET Core 版博客站點(diǎn)發(fā)布上線
<https://www.cnblogs.com/cmt/p/11347507.html>
* 做夢也沒有想到:Windows 上的 .NET Core 版博客系統(tǒng)表現(xiàn)更糟糕
<https://www.cnblogs.com/cmt/p/11351367.html>
* 峰回路轉(zhuǎn):去掉 DbContextPool 后 Windows 上的 .NET Core 版博客表現(xiàn)出色
<https://www.cnblogs.com/cmt/p/11355978.html>
* Powered by .NET Core 進(jìn)展0815:第5次發(fā)布嘗試(Windows部署)
<https://www.cnblogs.com/cmt/p/11357365.html>
熱門工具 換一換
感谢您访问我们的网站,您可能还对以下资源感兴趣:
调教肉文小说-国产成本人片免费av-空姐av种子无码-在线观看免费午夜视频-综合久久精品激情-国产成人丝袜视频在线观看软件-大芭区三区四区无码-啊啊好爽啊啊插啊用力啊啊-wanch视频网-国产精品成人a免费观看