別再誤人子弟了-tomcat、undertow、jetty性能對比

在網上搜索查詢發現清一色的都是說undertow高併發性能優於tomcat,而且還提供了各類實驗依據以做證實,可是我私下測試發現狀況和網上大部分結果並不一致。tomcat

簡單接口測試

   @GetMapping("/test")
   publicStringtest() {
       returnUUID.randomUUID().toString();
  }服務器

這是第一次測試的接口,使用jemter每秒600個線程調用這個接口。併發

Tomcat

Undertow

Jetty

結論

在簡單接口中,發現tomcat對於cpu的佔用是最低的,並且吞吐量最高。另外jetty中止測試花費了最長的時間致使吞吐量變低。app

簡單接口下吞吐量:tomcat>jetty>undertowdom

cpu:tomcat>jetty>undertow高併發

複雜接口測試

Tomcat

Undertow

Jetty

結論

在稍複雜的接口測試下,tomcatunderwow的差距並無很大,可是tomcat在吞吐量和cpu方面依然佔據了稍小的優點,jetty與前二者存在差距。性能

複雜接口下吞吐量:tomcat>undertow>jetty測試

cpu:tomcat>undertow>jettyspa

從結果來看,tomcat依然是最穩定的服務器,而不是網上各類博主說的undertow更優。而jetty更適合長鏈接的服務,可是長鏈接我更傾向於選擇nettyundertow更適合用於IO密集型服務器,或者文件服務器使用undertow會是一個不錯的選擇,可是在通常狀況下仍是老老實實的使用Springboot默認的tomcat吧。線程

相關文章
相關標籤/搜索