自從2022年7月第21輪公佈的測試以後,一年後 的2023年10月17日 釋出了 TechEmpower 22輪測試報告 剛剛釋出:Round 22 results - TechEmpower Framework Benchmarks。今年參與角逐的.NET 8 ,ASP.NET Core 排名相當不錯,因為我們在 302 個框架中被評為 #15,在精選主流程式語言中排名第二,去年排第一的drogon 缺少一些分數沒有納入。
Techempower benchmark是包含範圍最廣泛的web框架效能測試,覆蓋了比較典型的使用場景,其可參考性極強。另外,所有測試原始碼和軟硬體配置都開放,基本得到大家的認可。TFB 挑戰是對許多 Web 應用程式平臺進行效能比較,這些平臺透過 HTTP 執行 JSON、資料庫、ORM、HTML 模板。它比較了用 C++、Rust、Go、JS、Java、C# 編寫的最佳框架。
應用效能直接影響到託管服務的成本,因此公司在開發應用時需要格外注意應用所使用的Web框架,初創公司尤其如此。此外,糟糕的應用效能也會影響到使用者體驗,甚至會因此受到相關搜尋引擎的降級處罰。在選擇框架時,又有許多因素需要考量,但原始效能無疑是其中最容易測評的。不同的框架效能差異極大,即使你充分利用了硬體的效能,錯誤的框架依然可能帶來十倍的效能損耗,雖然不是每個人都會遇到如此極端的情況,但在某些情況下確實如此,因此你有必要了解各框架之間的效能差異。
在當今無伺服器和容器的時代,很高興看到行業競爭並在冷啟動和記憶體消耗方面進行艱難的測試,PlaintText單項排名很好的體現了這一項:
Fortunes測試型別是最有趣的,因為它包括使用物件關係對映器(ORM)和資料庫。這是Web應用程式/服務中的常見用例。
在精選主流程式語言中排名第二、三。今年新加了NativeAOT的選項,排在第20位,另請注意,這些測試使用 PostgreSQL。
其他方案不太代表典型的應用程式。他們強調堆疊的特定方面。如果它們與您的用例緊密匹配,它們可能會很有趣。對於框架開發人員,他們幫助識別進一步最佳化堆疊的機會。 例如,考慮Plaintext方案。此方案涉及客戶端傳送16個請求背靠背(流水線),伺服器知道響應,而無需執行I / O操作或計算。這不代表典型的請求,但它是解析HTTP請求的良好壓力測試。
伺服器效能是關於正確的多執行緒編碼,最大限度地減少系統呼叫和鎖爭用的數量,並儘可能多地重用上下文。最重要的當然是實際測量(而不是猜測),從報告來看.NET 8 這個以今為止最快的.NET框架非常值得升級:後天就釋出RTM版本了,歡迎大家參加.NET Conf 2023: .NET Conf 2023 將在 11 月 15日-17 日 舉行 ,附中文日程表。
2023 中國 .NET 開發者峰會是一個聚集業界精英、展示最新科技發展、交流創新思想的盛大活動。在這裡,您的品牌將得到最前沿的展示,同時也能對推動科技進步作出重要貢獻。現在,我們誠摯地邀請您成為我們的贊助者。 贊助意向請聯絡微信:geffzhang, 備註大會贊助。 講師議題徵集中,早鳥優惠已經開啟。