日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

.NET开源5年了,这些宝藏你还没get?

發(fā)布時(shí)間:2023/12/4 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET开源5年了,这些宝藏你还没get? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

從2016年微軟發(fā)布.NET Core1.0,至今.NET開(kāi)源也快5年了,GitHub也涌現(xiàn)了很多優(yōu)秀的開(kāi)源項(xiàng)目,關(guān)于CLR層面調(diào)優(yōu)的討論也多了起來(lái),尤其是龍芯.NET開(kāi)源的CLR遷移項(xiàng)目,更是讓.NET進(jìn)入一個(gè)全新的時(shí)代。魯迅說(shuō)過(guò):菜鳥(niǎo)寫(xiě)業(yè)務(wù),老鳥(niǎo)搭架構(gòu),高手玩調(diào)優(yōu)。架構(gòu)優(yōu)化,性能調(diào)優(yōu)都是食物鏈頂端的技術(shù),高薪面試必備良品。

架構(gòu)優(yōu)化

架構(gòu)優(yōu)化

互聯(lián)網(wǎng)發(fā)展至今,各種架構(gòu)設(shè)計(jì)優(yōu)化的思路已經(jīng)很成熟了,優(yōu)化的目標(biāo)就是用更少的資源提供更好的服務(wù),成本利益最大化,常規(guī)手段如下:

時(shí)間換空間

大文件處理時(shí),切分?jǐn)?shù)據(jù)分批次處理,花更多的時(shí)間,用更少的空間完成處理。

分治思想

典型的歸并排序、快排,都是將數(shù)據(jù)分成小塊兒排序最終再合并,分而治之。

異步化

各種消息隊(duì)列就是典型案例,將業(yè)務(wù)分拆,避免阻塞,提升吞吐量。

并行

包括多線程和單線程多進(jìn)程兩種模式,就是將任務(wù)分開(kāi),同時(shí)執(zhí)行以加快速度。

集群化

提供良好的擴(kuò)展能力,更多的資源換取更好的性能。

性能調(diào)優(yōu)的方式很多,然而最直接有效的辦法就是使用優(yōu)秀的工具,工欲善其事必先利其器,優(yōu)秀的工具能讓性能調(diào)優(yōu)事半功倍!下面給大家推薦幾款常用工具,親測(cè)非常靠譜!

BenchmarkDotNet性能基準(zhǔn)測(cè)試

性能測(cè)試是開(kāi)發(fā)人最關(guān)心的,然而一個(gè)算法的性能在不同的設(shè)備、不同的CLR、不同的測(cè)試方式、不同的數(shù)據(jù)量,表現(xiàn)出來(lái)的結(jié)果也是不一樣,因此要測(cè)試一個(gè)算法的性能,需要在充分的背景下才有意義,這就是性能基準(zhǔn)測(cè)試,C#首選的就是大名鼎鼎的BenchmarkDotNet。

這是一個(gè)用MIT協(xié)議開(kāi)源的C#程序性能測(cè)試庫(kù),非常簡(jiǎn)單易用,開(kāi)源地址為https://github.com/dotnet/BenchmarkDotNet。現(xiàn)在向Github提交代碼前,都會(huì)來(lái)一波性能測(cè)試,用法也非常簡(jiǎn)單,直接用BenchmarkDotNet即可。在Github上經(jīng)常能看到下圖內(nèi)容,就是基于Benchmark做的性能基準(zhǔn)測(cè)試結(jié)果。

JMeter壓力測(cè)試

壓力測(cè)試是一個(gè)項(xiàng)目質(zhì)量的基礎(chǔ)保障行為,沒(méi)有經(jīng)過(guò)壓測(cè)的項(xiàng)目怎敢上線?說(shuō)到壓力測(cè)試,重量級(jí)的Loadrunner這些年用的要少一些了,很多專業(yè)測(cè)試,也是使用JMeter來(lái)做壓測(cè)了。JMeter是Apache公司基于Java開(kāi)發(fā)的一款開(kāi)源壓力測(cè)試工具,體積小,功能全,是一個(gè)輕量級(jí)的測(cè)試工具,使用起來(lái)非常簡(jiǎn)單。其原理是通過(guò)中間代理,監(jiān)控與收集并發(fā)客戶端發(fā)現(xiàn)的指令,將其生成腳本,并發(fā)送到應(yīng)用服務(wù)器,再監(jiān)控服務(wù)器反饋結(jié)果的一個(gè)過(guò)程。有著詳盡的可視化界面,讓開(kāi)發(fā)者可以針對(duì)性去優(yōu)化,有的放矢!

JetBrains DotTrace內(nèi)存優(yōu)化

.NET開(kāi)發(fā)者一般不怎么關(guān)心GC和內(nèi)存泄漏問(wèn)題,然而一旦發(fā)生了,往往就束手無(wú)策了。這里給大家推薦下JetBrains DotTrace Memory,親測(cè)最好用的性能調(diào)試,內(nèi)存優(yōu)化工具!DotTrace Memory支持兩種模式,識(shí)別即時(shí)內(nèi)存狀態(tài),或者動(dòng)態(tài)監(jiān)控內(nèi)存分配,擁有豐富的快照視圖,還能快速查找關(guān)注的對(duì)象數(shù)據(jù),甚至可以追蹤到對(duì)應(yīng)的源代碼文件,應(yīng)用起來(lái)效率非常高!

實(shí)操起來(lái)

性能調(diào)優(yōu)從來(lái)都不簡(jiǎn)單,類似的工具還有很多,本文拋磚引玉,歡迎留言交流。百聞不如一見(jiàn),工具還是操作起得來(lái)最直觀。今晚八點(diǎn),我會(huì)在線直播演練BenchmarkDotNet多場(chǎng)景代碼基準(zhǔn)性能測(cè)試,JMeter壓測(cè)Docker里面的Core WebApi實(shí)例,DotTrace監(jiān)控內(nèi)存分配和碎片管理,總結(jié)一些常規(guī)的性能優(yōu)化經(jīng)驗(yàn),歡迎掃碼找Nico可免費(fèi)預(yù)約直播,加入微軟MVP學(xué)習(xí)群,群里有上述工具包!限時(shí)開(kāi)發(fā),趕快掃碼和大家一起學(xué)習(xí)!

寫(xiě)在最后的話 ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

從事了多年IT,突然感覺(jué)職業(yè)生涯迷茫,尤其是最近鬧得沸沸揚(yáng)揚(yáng)的拼多多事件,更讓從事互聯(lián)網(wǎng)IT的打工人,難以釋?xiě)炎约旱拇蚬せ辍H绻覀儫o(wú)法控制自己的努力程度,起碼我們?nèi)タ刂葡伦约旱呐Ψ较?#xff0c;讓付出更有回報(bào)!寫(xiě)慣了CRUD,也去關(guān)注下底層,關(guān)注下調(diào)優(yōu),爭(zhēng)取讓自己的付出拿到更好的回報(bào)。這里還給整理一些學(xué)習(xí)資料,《C#數(shù)據(jù)結(jié)構(gòu)與算法》《MySQL深層調(diào)優(yōu)》,請(qǐng)掃碼領(lǐng)取。

掃碼免費(fèi)領(lǐng)取資料

添加微信zhaoxi066也可領(lǐng)取

總結(jié)

以上是生活随笔為你收集整理的.NET开源5年了,这些宝藏你还没get?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。