Tomcat vs Jetty vs Undertow性能對比


Tomcat,Jetty和Undertow是目前比較主流的3款Servlet容器,而且Spring Boot框架還提供了對它們的集成支持(默認使用的是Tomcat),網絡上有許多文章都在介紹Undertow容器的性能比Tomcat和Jetty要好。本着事實就是的原則,我對這三款容器做了一個壓測對比,真正通數據來對比到底是誰有優勢,同時也是作為容器選擇的一個參考。

測試環境

  1. 壓測工具:JMeter 5.2.1,使用插件jpgc-casutg提供的Concurrency Thread Group線程組對象
  2. 測試程序:一個簡單的基於Spring Boot框架程序,提供2個接口,分別模擬返回簡單字符串對象和復雜對象,詳見:https://gitee.com/cchanghui/test-servlet-container.git
  3. 測試用例:分別使用100個線程,500個線程,1000個線程三組壓力進行測試
  4. 壓測環境:
    • 操作系統:Ubuntu 18.04 LTS Desktop
    • 處理器:Intel® Core™ i5-6200U CPU @ 2.30GHz × 4
    • 內存:8GB
  5. 壓測主要指標:響應時間,吞吐量,系統負載(CPU,內存,線程數)

壓測指標

1.吞吐量及響應時間
吞吐量:Undertow > Jetty > Tomcat
響應時間:Jetty < Tomcat < Undertow
響應時間及吞吐量

2.CPU使用率:Undertow < Jetty < Tomcat
CPU使用率

3.內存使用率:Undertow < Jetty < Tomcat
內存使用率

4.線程數:Undertow < Jetty < Tomcat
線程數

結論

結論:綜合吞吐量,響應時間以及資源消耗,Undertow勝出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM