亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

.Net Core內(nèi)存回收模式及性能測試對比分析

 更新時間:2017年12月19日 08:46:02   作者:ZKEASOFT  
下面小編就為大家分享一篇.Net Core內(nèi)存回收模式及性能測試對比分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

.NET Core 兩種GC模式:

Server GC / Workstation GC

Server GC :

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

Workstation GC :

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

簡單測試

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

•Windows 7 Ultimate

•Intel Core I3-3220 @ 3.30 GHZ

•8G內(nèi)存,可用空間3GB

•SQL Server 2014

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

Server GC :

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

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

經(jīng)過反復(fù)多次的測試,內(nèi)存最高時漲到800多M,這與可用內(nèi)存有關(guān)系,如果可用內(nèi)存更多,還會漲到1G或更高然后再掉下來:

Workstation GC :

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

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

內(nèi)存回收模式的切換

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

開發(fā)環(huán)境

在開發(fā)環(huán)境,你可以編輯你的項目文件,加上以下配置,重新生成即可:

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

生產(chǎn)環(huán)境

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

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

參考資料:https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals

以上這篇.Net Core內(nèi)存回收模式及性能測試對比分析就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論