自從2021年2月第20輪公佈的測試以後,一年半後 的2022年7月19日 發佈了 TechEmpower 21輪測試報告:Round 21 results - TechEmpower Framework Benchmarks。Techempower benchmark是包含範圍最廣泛的web框架性 ...
自從2021年2月第20輪公佈的測試以後,一年半後 的2022年7月19日 發佈了 TechEmpower 21輪測試報告:Round 21 results - TechEmpower Framework Benchmarks。Techempower benchmark是包含範圍最廣泛的web框架性能測試,覆蓋了比較典型的使用場景,其可參考性極強。另外,所有測試源代碼和軟硬體配置都開放,基本得到大家的認可。
TechEmpower基準測試有許多場景(也稱為測試類型),此次評測多了一個綜合評分選項,把擁有完整測試覆蓋的框架現在將具有綜合分數,這反映了測試項目類型的總體性能得分:JSON serialization, Single-query, Multi-query, Updates, Fortunes 和 Plaintext. 。對於每一輪,我們使每個測試類型的結果規範化,然後為每個測試類型應用主觀權重(例如,Fortunes的權重比 Plaintext 高,因為Fortunes 是一種更現實的測試類型)。asp.net core排第7名,主流排名第3名,asp.net 已經在排行榜裡面找不到了。
asp.net core從去年的綜合得分第八名上升一位到了第7名,排名雖然只提升1位,但是相對第一名的性能,從去年的 68%提升到了 83.7%,這個提升不可謂不巨大,要知道排前面都是rust, c++選手,已經比較接近了,都在7000級別,另外,論使用量, asp.net core在前10名的框架中毫無疑問是最多的。 性能已經是asp.net core的優勢了,相對java主流框架, go全部框架來看,都是如此,更別說世界上最好的語言PHP了。
表上首碼T標簽表示精選的主流編程語言:https://www.techempower.com/benchmarks/#section=data-r21&test=composite
- 第1名 C++的drogon 7801分
- 第2名 Rust的actix 7667分
- 第6名 C#的ASP.NET Core 7077分
- 第63名 Go的gin 1943分
- 第67名 Java的Spring 1846分
- 第113名 基於Elixir的 phoenix 687 分
- 第116名 Nodejs的Express 615分
- 第130名 PHP的laravel 371分
- 第131名 Ruby的 rails 366分
- 第137名 Python的django 274分
應用性能直接影響到托管服務的成本,因此公司在開發應用時需要格外註意應用所使用的Web框架,初創公司尤其如此。此外,糟糕的應用性能也會影響到用戶體驗,甚至會因此受到相關搜索引擎的降級處罰。在選擇框架時,又有許多因素需要考量,但原始性能無疑是其中最容易測評的。不同的框架性能差異極大,即使你充分利用了硬體的性能,錯誤的框架依然可能帶來十倍的性能損耗,雖然不是每個人都會遇到如此極端的情況,但在某些情況下確實如此,因此你有必要瞭解各框架之間的性能差異。
在當今無伺服器和容器的時代,很高興看到行業競爭併在冷啟動和記憶體消耗方面進行艱難的測試,PlaintText單項排名很好的體現了這一項:
Fortunes測試類型是最有趣的,因為它包括使用對象關係映射器(ORM)和資料庫。這是Web應用程式/服務中的常見用例。以前版本的ASP.NET Core在這種情況下表現不佳。由於堆棧和PostgreSQL驅動程式中的優化,ASP.NET Core 2.1得到了顯著改進, 3.1 版本又 提升到了27萬,5.0版本提升到了40萬,6.0版本提升到了45萬。 其他方案不太代表典型的應用程式。他們強調堆棧的特定方面。如果它們與您的用例緊密匹配,它們可能會很有趣。對於框架開發人員,他們幫助識別進一步優化堆棧的機會。 例如,考慮Plaintext方案。此方案涉及客戶端發送16個請求背靠背(流水線),伺服器知道響應,而無需執行I / O操作或計算。這不代表典型的請求,但它是解析HTTP請求的良好壓力測試。 每個實現都有一個類。例如,ASP.NET Core Plaintext具有platform, micro和full 實現。full 的實現是使用MVC中間件。Micro實現在管道級實現,platform實現直接建立在Kestrel之上。雖然Platform 類提供了引擎功能強大的概念,但它不是用於應用程式開發人員編程的API。 基準測試結果包括Latency選項卡。一些實現每秒實現非常多的請求,但是以相當大的延遲成本。
相關文章:
歡迎大家掃描下麵二維碼成為我的客戶,為你服務和上雲