SpringBoot 2的普通servlet與WebFlux效能對比
Spring-boot 2.0 ofollow,noindex" target="_blank">最近 釋出,每個人都對新功能和改進感到興奮。Spring 5引入了WebFlux框架,它是一個完全非同步且無阻塞的反應式Web堆疊,可以處理大量併發連線。這使我們能夠垂直擴充套件服務以處理相同硬體上的更多負載。
本實驗旨在通過捕獲高負載下傳統的servlet堆疊與反應式堆疊的效能來比較。
測試原始碼:[url]https://github.com/raj-saxena/spring-boot-1-vs-2-performance[/url]
1.同時測試2500個使用者
負載的響應時間相似,但是響應式堆疊處理的請求數/秒數超過了servlet堆疊的1.5倍。
2.同時測試5000個使用者
反應堆疊在響應時間和它可以處理的請求/秒數方面都具有更好的效能,提高2倍多。
3.同時測試10000個使用者
Reactive反應堆疊是明顯的贏家。提高5倍多。
我們可以清楚地看到,在不損失效能的情況下,Reactive反應堆疊可承受的負載是一項重大改進。它使我們能夠更好地利用硬體專門用於執行大量I / O操作的服務,例如對其他服務進行網路呼叫或與資料庫互動。它在低負載下具有類似的吞吐量,並迅速處理高負載。這是一場大勝利!