1. 程式人生 > >Tomcat vs Jetty vs Undertow效能對比

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 ![響應時間及吞吐量](https://img2020.cnblogs.com/blog/722072/202009/722072-20200915114759288-2104424633.png) 2.CPU使用率:Undertow < Jetty < Tomcat ![CPU使用率](https://img2020.cnblogs.com/blog/722072/202009/722072-20200915114821267-836265784.png) 3.記憶體使用率:Undertow < Jetty < Tomcat ![記憶體使用率](https://img2020.cnblogs.com/blog/722072/202009/722072-20200915114841188-1495070092.png) 4.執行緒數:Undertow < Jetty < Tomcat ![執行緒數](https://img2020.cnblogs.com/blog/722072/202009/722072-20200915114907020-324299664.png) ## 結論 結論:綜合吞吐量,響應時間以及資源消耗,Undertow