techempower拿分系列之aspcore分析
??????? techempower是一個Web Framework Benchmarks測試平臺,世界上各大Web框架都參與其中,當然BeetleX也不例外。接下來的幾篇文章中講述aspcore使用怎樣的方式在這評測中獲取相對比較高的分數;而BeetleX使用了這些技巧之后也在是近測中獲取的前10,僅次于aspcore,努力總會有回報相信在不久就能越aspcore。
以上是?2021-01-28的測試結果。如果你也是寫Web框架,也希望能在techempower獲取不錯的得分,那這一系列的講解對你來說一定有很大的幫助。
劃重點
??????? techempower會對Web框架進行多項功能測試,你需要獲取綜合評分那就必須所有測試項都要完成才能得取綜合排名。但測試的規則就如同我們的考試一樣,并不是每項的測試分數都一樣的。你是全能冠軍那沒什么需要注意的,否則需要考慮那個項的占比重和投入回報比了。
以上是多項測試的權重占比情況,在占比低的項中即使投入大量的時間拿了很高的分數也沒有多大意義。從上面權重分配表來看,你只需要在DATA UPDATES和MULTIPLE QUERIES中付出少量的時間即可獲取一個不錯的分數;對于PLAINTEXT即使拿個第一也不會對著綜合分數帶來很大的影響,畢竟權重分太低了,投入的時間優化收益比非常低。
理清規則
????????測試項權重比知道了,同樣測試規則也需要了解清楚;相信大家都知道不同規模的代碼測試出來的性能結果總是有差異的,對于techempower來說它不關心測試框架的規模,主要測試的輸入和輸出是否滿足它的要求即可;如果你想一份代碼就能得到一個綜合好的評分很難在這里獲取好的排名,畢竟不同場景都有針對性代碼優化。
??????? aspcore為了在這里得到更好的排名也是使用多種測試實現的策略,測試的規模有aspcore,aspcore-mv和aspcore-mvc;如果用實際應用所使用的aspcore-mvc那我相信很難排到前50名。Beetlex為了得到排名同樣也使用了這種策略機制,分別使用了beetlex和beetlex-core兩種不同復雜度的框架進行測試拿分。
代碼技巧
????????有時候為了獲取比較高的分數需要一些非常正常的代碼手段,簡單來說這些編寫方式在實際應用比較少用,都為了當前測試需求而編寫;雖然這些技巧對測試結果不會有一個質的飛躍,但對測試結果的提升還是有很大幫助;這些描述包括有控制線程隊列,合并IO,對象池等等。
總結
????????在后面的文章中會針對以上幾點對相關測試用例進行一個分析和講解,了解一下aspcore是如何通過不同方式來應對techempower測試。最終你會發現憑借那幾點即可以得到一個不錯的測試成績。
開源跨平臺通訊框架(支持TLS)
提供高性能服務和大數據處理解決方案
https://beetlex.io
總結
以上是生活随笔為你收集整理的techempower拿分系列之aspcore分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在 ASP.Net Core 中使用
- 下一篇: Redis集群搭建很easy