峰迴路轉:去掉 DbContextPool 後 Windows 上的 .NET Core 版部落格表現出色
今天早上,我們修改了部落格程式中的1行程式碼,將 services.AddDbContextPool 改為 services.AddDbContext ,去掉 DbContextPool 。
然後奇蹟出現了 ——
單臺4個8G的伺服器,800 左右的 QPS 不在話下,CPU 的穩健與 .NET Framework 版有的一拼。
到釋出博文時間為止,最高可以撐住 1300 的 QPS 。
我們評估一下,如果沒有其他問題,我們今天會全面部署 Windows 上的 .NET Core 版部落格站點。
DbContextPool 相關連結:
- EF Core 小坑:DbContextPool 會引起資料庫連線池連線耗盡
Powered by .NET Core 系列博文:
- 【故障公告】釋出 .NET Core 版部落格站點引起大量 500 錯誤
- 【網站公告】.NET Core 版部落格站點第二次釋出嘗試
- 暴風雨中的 online : .NET Core 版部落格站點遭遇的高併發問題進展
- Powered by .NET Core 進展:驗證高併發效能問題嫌疑犯 docker swarm
- 同“窗”的較量:部署在 Windows 上的 .NET Core 版部落格站點發布上線
- 做夢也沒有想到:Windows 上的 .NET Core 版部落格系統表現更糟糕
相關推薦
峰迴路轉:去掉 DbContextPool 後 Windows 上的 .NET Core 版部落格表現出色
今天早上,我們修改了部落格程式中的1行程式碼,將 services.AddDbContextPool 改為 services.AddDbContext ,去掉 DbContextPool 。 然後奇蹟出現了 —— 單臺4個8G的伺服器,800 左右的 QPS 不在話下,
同“窗”的較量:部署在 Windows 上的 .NET Core 版部落格站點發布上線(已暫時下線)
為了驗證 docker swarm 在高併發下的效能問題,週一我們釋出了使用 docker-compose 部署的 .net core 版部落格站點(博文連結),但由於有1行程式碼請求後端 web api 時沒有使用快取,結果造成大量 web api 請求發向跑後端服務的叢集,悲劇的是這個叢集是用 docke
暴風雨中的 online :.net core 版部落格站點遭遇的高併發問題進展
今天暴風雨襲擊了杭州,而昨天暴風雨(高併發問題)席捲了園子,留下一片狼藉。 在前天傍晚,我們進行了 .net core 版部落格站點的第二次釋出嘗試,在釋出後通過 kestrel 直接監聽取代 nginx 轉發解決了高併發下的1秒延遲問題,成功地頂住了下班前的訪問小高峰,但這只是一場大雨,第二天的上午和下午
【故障公告】釋出 .NET Core 版部落格站點引起大量 500 錯誤
非常抱歉,今天上午的部落格站點故障給大家帶來了很大的麻煩,請大家諒解。這次故障是我們釋出 .NET Core 版部落格站點引起的,雖然我們進行了充分的準備,但還是低估了高併發下的複雜問題。 以下是故障背景與大致經過: 在這個炎炎夏日,我們正日火朝天地忙著整個 .NET Core 遷移工程的收官 &mdas
【網站公告】.NET Core 版部落格站點第二次釋出嘗試
在上次釋出失敗後,很多朋友建議我們改用 k8s ,但我們還是想再試試 docker swarm ,實在不行再改用 k8s 。 在改進了 docker swarm 叢集的部署後,我們準備今天 17:30 左右進行一次釋出嘗試。 docker swarm 叢集是我們使用阿里雲伺服器自己搭建的,這次進行了3方面
部落格園“NET Core 版部落格系統”的運維淺見
今天看到了幾篇部落格園,部署“NET Core 版部落格系統”的事情,不說廢話,談點本人淺見。 1觀點 本人建議使用,win2019無圖形版+powershell+iis+win版.net core。可以在客戶機上圖形管理win2019。不需要linux,也不需要d
如何在mac和Windows上同時寫hexo部落格?
首先,我是在公司上的windows機器上部署了hexo,但是回家後發現很不方便,家裡的電腦是mac機。所以根據網上的經驗我總結了一下如何在mac和Windows上同時寫hexo部落格。 Windows機器 在github上新建遠端倉庫 將原來的page專案刪除,新建一個和原來名字一樣的空
基於 abp vNext 和 .NET Core 開發部落格專案 - 使用 abp cli 搭建專案
首先,預設咱們已經有了.net core 3.1的開發環境,如果你沒有,快去下載... https://dotnet.microsoft.com/download 由於專案是基於abp vNext開發的,所以開發之前建議去擼一遍abp官方文件,https://docs.abp.io/en/abp/lates
基於 abp vNext 和 .NET Core 開發部落格專案 - 給專案瘦身,讓它跑起來
上一篇文章(https://www.cnblogs.com/meowv/p/12896177.html)已經成功建立了部落格專案,但是abp預設給我們引用了許多專案中用不到的元件。 本篇文章將給專案進行瘦身,刪掉對我們來說暫時用不到的元件。講解各個模組之間的關係,寫一個Hello World,讓其成功執行起
基於 abp vNext 和 .NET Core 開發部落格專案 - 完善與美化,Swagger登場
上一篇文章(https://www.cnblogs.com/meowv/p/12896898.html)已經成功將部落格專案跑起來了,那麼本篇主要是將之前遺留的問題解決,現在的程式碼看起來可能還是比較混亂,有大量與之無關的程式碼存在裡面,對於強迫症患者來說真的是零容忍。 在程式設計師界,總有一批強迫症患者,
基於 abp vNext 和 .NET Core 開發部落格專案 - 資料訪問和程式碼優先
上一篇文章(https://www.cnblogs.com/meowv/p/12909558.html)完善了專案中的程式碼,接入了Swagger。本篇主要使用Entity Framework Core完成對資料庫的訪問,以及使用Code-First的方式進行資料遷移,自動建立表結構。 ## 資料訪問 在
基於 abp vNext 和 .NET Core 開發部落格專案 - 自定義倉儲之增刪改查
上一篇文章(https://www.cnblogs.com/meowv/p/12913676.html)我們用Code-First的方式建立了部落格所需的實體類,生成了資料庫表,完成了對EF Core的封裝。 本篇說一下自定義倉儲的實現方式,其實在abp框架中已經預設給我們實現了預設的通用(泛型)倉儲,`I
基於 abp vNext 和 .NET Core 開發部落格專案 - 統一規範API,包裝返回模型
上一篇文章(https://www.cnblogs.com/meowv/p/12916613.html)使用自定義倉儲完成了簡單的增刪改查案例,有心的同學可以看出,我們的返回引數一塌糊塗,顯得很不友好。 在實際開發過程中,每個公司可能不盡相同,但都大同小異,我們的返回資料都是包裹在一個公共的模型下面的,而不
基於 abp vNext 和 .NET Core 開發部落格專案 - 再說Swagger,分組、描述、小綠鎖
在開始本篇正文之前,解決一個 @瘋瘋過 指出的錯誤,再次感謝指正。 ![0](https://img2020.cnblogs.com/blog/891843/202005/891843-20200521140310243-1483710674.png) 步驟如下: * 刪掉`.Domain.Shared
基於 abp vNext 和 .NET Core 開發部落格專案 - 接入GitHub,用JWT保護你的API
上一篇文章(https://www.cnblogs.com/meowv/p/12924859.html)再次把Swagger的使用進行了講解,完成了對Swagger的分組、描述和開啟小綠鎖以進行身份的認證授權,那麼本篇就來說說身份認證授權。 開始之前先搞清楚幾個概念,請注意認證與授權是不同的意思,簡單理解:
基於 abp vNext 和 .NET Core 開發部落格專案 - 異常處理和日誌記錄
在開始之前,我們實現一個之前的遺留問題,這個問題是有人在GitHub Issues(https://github.com/Meowv/Blog/issues/8)上提出來的,就是當我們對Swagger進行分組,實現`IDocumentFilter`介面添加了文件描述資訊後,切換分組時會顯示不屬於當前分組的Ta
基於 abp vNext 和 .NET Core 開發部落格專案 - 使用Redis快取資料
上一篇文章(https://www.cnblogs.com/meowv/p/12943699.html)完成了專案的全域性異常處理和日誌記錄。 在日誌記錄中使用的靜態方法有人指出寫法不是很優雅,遂優化一下上一篇中日誌記錄的方法,具體操作如下: 在`.ToolKits`層中新建擴充套件方法`Log4NetE
基於 abp vNext 和 .NET Core 開發部落格專案 - 整合Hangfire實現定時任務處理
上一篇文章(https://www.cnblogs.com/meowv/p/12956696.html)成功使用了Redis快取資料,大大提高部落格的響應效能。 接下來,將完成一個任務排程中心,關於定時任務有多種處理方式,如果你的需求比較簡單,比如就是單純的過多少時間迴圈執行某個操作,可以直接使用.net
基於 abp vNext 和 .NET Core 開發部落格專案 - 用AutoMapper搞定物件對映
上一篇文章(https://www.cnblogs.com/meowv/p/12961014.html)集成了定時任務處理框架Hangfire,完成了一個簡單的定時任務處理解決方案。 本篇緊接著來玩一下AutoMapper,AutoMapper可以很方便的搞定我們物件到物件之間的對映關係處理,同時abp也幫
基於 abp vNext 和 .NET Core 開發部落格專案 - 定時任務最佳實戰(一)
上一篇(https://www.cnblogs.com/meowv/p/12966092.html)文章使用AutoMapper來處理物件與物件之間的對映關係,本篇主要圍繞定時任務和資料抓取相關的知識點並結合實際應用,在定時任務中迴圈處理爬蟲任務抓取資料。 開始之前可以刪掉之前測試用的幾個HelloWorl