在網上搜索查詢發現清一色的都是說undertow高併發性能優於tomcat,而且還提供了各類實驗依據以做證實,可是我私下測試發現狀況和網上大部分結果並不一致。tomcat
@GetMapping("/test")
publicStringtest() {
returnUUID.randomUUID().toString();
}服務器
這是第一次測試的接口,使用jemter
每秒600個線程調用這個接口。併發
在簡單接口中,發現tomcat
對於cpu
的佔用是最低的,並且吞吐量最高。另外jetty
中止測試花費了最長的時間致使吞吐量變低。app
簡單接口下吞吐量:tomcat
>jetty
>undertow
。dom
cpu:tomcat
>jetty
>undertow
。高併發
在稍複雜的接口測試下,tomcat
和underwow
的差距並無很大,可是tomcat
在吞吐量和cpu方面依然佔據了稍小的優點,jetty
與前二者存在差距。性能
複雜接口下吞吐量:tomcat
>undertow
>jetty
。測試
cpu:tomcat
>undertow
>jetty
。spa
從結果來看,tomcat
依然是最穩定的服務器,而不是網上各類博主說的undertow
更優。而jetty
更適合長鏈接的服務,可是長鏈接我更傾向於選擇netty
。undertow
更適合用於IO密集型服務器,或者文件服務器使用undertow
會是一個不錯的選擇,可是在通常狀況下仍是老老實實的使用Springboot默認的tomcat
吧。線程