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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

利用BenchmarkDotNet 测试 .Net Core API 同步和异步方法性能

發布時間:2023/12/4 asp.net 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用BenchmarkDotNet 测试 .Net Core API 同步和异步方法性能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

事由:

這兩天mentor給我布置了個任務讓我用BenchmarkDotNet工具去測試一下同一個API 用同步和異步方法寫性能上有什么差別。

順帶提一下:

啊啊啊啊 等我仔細看文檔的時候文檔 發現它讓我用Release的模式去運行benchmark。 emmm...其實我之前一直在用Debug模式調試。。

所以各位在運行的時候,The best way is build our benchmark in the Release mode and run it from the command line.

過程:

首先 我們需要在Nuget上安裝BenchMarkDotNet

(安裝當前最新版本,當前我已經安裝好了)

但是卻安裝失敗出現兩個error。

其中一個是

?

第二個

ok,第二個錯誤非常顯眼,那我先嘗試著按照它的說法解決??我邊在Nuget上找到 Microsoft.CodeAnalysis.CSharp 2.8.2 ,Microsoft.CodeAnalysis.Common (= 2.8.2) ?我安裝的都是2.8.2的版本 但是其實這兩個包都有更新的版本。安裝完畢后 發現錯誤消失了,卻跳出幾個警告。(對后面的測試沒有影響就先不搭理)

安裝完,上述兩個包后 再回去安裝 BenchmarkDotNet 終于安裝成功了。

Ok此時我們在新建一個Console.App ,命名為BenchMarkDotNetTest

在API層把需要的方法 前加上[Benchmark] 引用BenchmarkDotNet.Attributes;

注意:原來的方法中是有參數的,但是這里不允許有參數,我就把方法的入參和值直接寫到方法里面去了。

這2個方法都在UserImpelement 類中所以我們在Main方法中這樣寫

點擊運行,emmm,錯誤又來了

?

在百度上搜索了,但是未能找到結果,于是就去Bing上搜索

GitHub上有回復

https://github.com/dotnet/BenchmarkDotNet/issues/579

Ok 根據該大佬的解決方案 我們新創建了AllowNonOptimazed類

運行的summary改成

var summary = BenchmarkRunner.Run<UserImpelement>(new AllowNonOptimized());

再次運行,運行開始。 運行需要一點時間

可以看到運行大概花費了1分52秒

總結果如下

我運行了多次每一次的數據都有變化,響應速度上也是有時CheckLogin快 有時AsyncCheckLogin更快些

?我們還能在BenchMarkDotNetTest\bin\Debug\netcoreapp2.1\BenchmarkDotNet.Artifacts\results中看到輸出結果的XLS ,MD和HTML文件

當前截圖是我運行了2次的結果所以有兩張XSL表格

點開HTML文件可以看到也是一樣就是本次性能測試的Summary

而打開表格的時候則會有更多詳細的性能數據顯示

可是我對這些性能指標很陌生,至少我們初步的看一下他們代表什么有什么意義

// * Legends *

??Mean ??: Arithmetic mean of all measurements

??Error ?: Half of 99.9% confidence interval

??StdDev : Standard deviation of all measurements

??1 ms ??: 1 Millisecond (0.001 sec)

?

Mean: 可以反映響應時長

StdDev:事務處理響應的偏差,值越大,偏差越大;

Median:中值響應時間

confidence interval:置信區間 (展現這個參數的真實值有一定概率落在測量結果的周圍的程度)

補充:

話說,我同樣的情況下運行4次,只有1次出現了中值 其他三次都沒有。

后來發現其實在類前加上?[MinColumn, MaxColumn, MedianColumn]

返回結果里就會多輸出Min, Max, Media。

?

?

從每一次的運行測試結果上看也是五五開- - 我想會不會是當前接口邏輯太簡單了呢所以很難得出結果,那ok我們再來多測試幾個接口

(這次我換了另一個.Net Core API項目)

那我們對三組方法進行測試(同樣的方法內容用同步和異步處理)

分別為

login(登錄)

ReturnClient(返回管理員用戶信息)

loadImg(加載頭像信息)

按照同樣的步驟進行操作,運行

這個項目進行測試這一次測試耗時非常短(39秒)

上述結果而言 其實同步的響應時間通常快于異步(當然其實我不是特別確信我的判斷)

ok進行第二組測試

第三組

第四組

emmm...果然還是有波動的。

所以我測試了很多組數據,但是想去比較個究竟,卻感覺自己似乎進入了誤區了。

我現在剛剛大四,技術不是非常好,還是希望各位大牛提提意見。

這些性能指標具體代表些什么,又如何去反應代碼的性能優劣呢?

還有我這樣去比較同步和異步的方法性能是否正確呢 ,為什么我看不出個所以然呢?

?補充:

BenchmarkDotNet官方文檔 https://benchmarkdotnet.org/articles/guides/getting-started.html

相關文章:

  • .NET Core中的性能測試工具BenchmarkDotnet

  • 使用 BenchmarkDotnet 測試代碼性能

  • .NET Core性能測試組件BenchmarkDotNet 支持.NET Framework Mono

  • 用BenchmarkDotNet給C#程序做性能測試

原文地址:https://www.cnblogs.com/RikuBlog/p/9686876.html


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

總結

以上是生活随笔為你收集整理的利用BenchmarkDotNet 测试 .Net Core API 同步和异步方法性能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av午夜精品 | 国产九色在线播放九色 | 亚洲系列中文字幕 | 久热精品在线视频 | 欧美视频综合 | 99热免费在线观看 | 四虎影院免费 | 欧美久久久久久久久久久久久久 | 激情小说视频在线 | av乱码| 亚洲一区视频网站 | 麻豆偷拍 | 日韩激情网站 | 国产 丝袜 欧美中文 另类 | 欧美视频免费看 | 国产91在线观看 | 中文有码视频 | 亚洲四区 | 久草天堂 | 粉嫩av渣男av蜜乳av | 欧美综合视频 | 中文字幕第6页 | 国产91网| 国产av自拍一区 | 999久久 | 高清在线一区 | 久久影院午夜 | 2024男人天堂 | 91大神网址| 国产午夜视频在线 | 中文字幕在线免费观看视频 | 国产精品久久久久99 | 五月网 | 欧美色成人 | 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 动漫毛片 | 色老板精品凹凸在线视频观看 | 国产aⅴ激情无码久久久无码 | 国产精品久久久久久久久免费桃花 | 亚洲色网址 | 日韩欧美高清视频 | 97综合视频 | 少妇人妻偷人精品一区二区 | 黄色欧美在线 | 精品视频久久久久久久 | 亚洲欧美另类综合 | 超碰超碰| 激情黄色av | 超碰网站在线观看 | 韩国中文字幕在线观看 | 奇米在线777 | 成人亚洲欧美 | 日本激情一区二区三区 | 欧美午夜精品一区 | 少妇情理伦片丰满午夜在线观看 | 综合伊人 | 国产看真人毛片爱做a片 | 欧美日韩一级在线观看 | 操女人视频网站 | 欧洲av无码放荡人妇网站 | 久久久久久国产精品日本 | 97超碰碰碰 | 白丝少妇 | 天天做天天爱天天爽综合网 | 神马午夜在线 | 国产成人区 | 国产91精品一区 | 亚洲黄色一区二区三区 | 色呦呦在线观看视频 | 午夜视频成人 | 国产精品免费视频一区二区 | 综合久久精品 | 亚洲成人黄色网址 | 久久综合高清 | 亚洲高清一区二区三区 | 久久国产精品精品国产色婷婷 | 欧美精品色视频 | 原创露脸88av| 欧美18aaaⅹxx | 深夜福利免费在线观看 | 亚洲av第一成肉网 | 国产成人午夜 | 亚洲av无码一区二区二三区软件 | 亚洲天堂精品在线观看 | 深夜福利国产 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 91免费黄 | 26uuu国产精品视频 | 狠狠爱夜夜爱 | 爽爽爽av | 欧美资源在线观看 | 天天天天天天干 | 久久久久久久久国产精品一区 | 亚洲精品婷婷 | 黄色一级一片免费播放 | 亚洲av乱码一区二区 | 91精品又粗又猛又爽 | 91精品国产色综合久久不卡98 | 97在线精品 |