91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.Net Core內存回收模式及性能測試對比的示例分析

發布時間:2021-09-15 11:18:47 來源:億速云 閱讀:114 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關.Net Core內存回收模式及性能測試對比的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

.NET Core 兩種GC模式:

Server GC / Workstation GC

Server GC :

主要應用于多處理器系統,并且作為ASP.NET Core宿主的默認配置。它會為每個處理器都創建一個GC Heap,并且會并行執行回收操作。該模式的GC可以最大化吞吐量和較好的收縮性。這種模式的特點是初始分配的內存較大,并且盡可能不回收內存,進行回收用時會很耗時,并進行內存碎片整理工作。用一句簡單的話說,這個就是貪婪模式,通過盡可能多的獲得內存和少回收來得到更好的性能。結果就是高內存使用率性能較好。

Workstation GC :

主要應用于單處理器系統,Workstation GC盡可能地通過減少垃圾回收過程中程序的暫停次數來提高性能。低負載且不常在后臺(如服務)執行任務的應用程序,可以在禁用并發垃圾回收的情況下使用工作站垃圾回收。特點是會頻繁回收,來阻止一次較長時間的回收。結果就是低內存使用率性能較差。

簡單測試

以下測試結果都在同一臺計算機上,配置如下:

?Windows 7 Ultimate

?Intel Core I3-3220 @ 3.30 GHZ

?8G內存,可用空間3GB

?SQL Server 2014

被測試的程序是ZKEACMS,首頁,單面壓力測試,5000個請求,1000個并發。測試結果如下:

Server GC :

響應結果如下,大概167.81 Req/s,這個結果并不是每次都一樣,會有所偏差,僅供參考:

.Net Core內存回收模式及性能測試對比的示例分析

內存使用漲到差不多600多M左右,期間會有上下上下浮動,情況如下圖所示:

.Net Core內存回收模式及性能測試對比的示例分析

經過反復多次的測試,內存最高時漲到800多M,這與可用內存有關系,如果可用內存更多,還會漲到1G或更高然后再掉下來:

.Net Core內存回收模式及性能測試對比的示例分析

Workstation GC :

響應結果如下圖所示,大概151.33 Req/s,看起來是要比Server GC差一點點,并且多次測試結果,總體都是更差些。

.Net Core內存回收模式及性能測試對比的示例分析

內存使用情況一直在200M左右浮動,反復的壓力測試,也不會有大的大起大落,這與它積極的回收有關系:

.Net Core內存回收模式及性能測試對比的示例分析

內存回收模式的切換

現在對.Net Core的不同的內存回收模式產生的影響已經有了一定的了解,那就可以看你的個人情況做出選擇了。.Net Core默認的貪婪模式可以得到更好的性能,這沒有什么問題是,畢竟內存不用放在那也是浪費。當然如果你的服務器上許多的程序在跑,并對內存有較高的限制要求不要影響到其它的程序,那就要做一些配置了。

開發環境

在開發環境,你可以編輯你的項目文件,加上以下配置,重新生成即可:

<PropertyGroup> 
 <ServerGarbageCollection>false</ServerGarbageCollection> 
</PropertyGroup>

生產環境

可以不用修改重新部署,直接到你的程序中找到 *.runtimeconfig.json,如:ZKEACMS.WebHost.runtimeconfig.json,修改"System.GC.Server": false,重啟程序即可:

"configProperties": {
 "System.GC.Server": false
 }

關于“.Net Core內存回收模式及性能測試對比的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南澳县| 徐州市| 高淳县| 江西省| 化州市| 徐闻县| 崇仁县| 泰和县| 奎屯市| 蓝山县| 大港区| 隆德县| 新野县| 措勤县| 兰西县| 涪陵区| 武邑县| 谷城县| 绥阳县| 望都县| 淳安县| 疏勒县| 和政县| 奇台县| 桓仁| 潼南县| 勐海县| 民乐县| 石柱| 西昌市| 南雄市| 古田县| 科技| 尼玛县| 山东省| 曲阜市| 政和县| 浑源县| 江北区| 土默特右旗| 黎城县|