在网上搜索查询发现清一色的都是说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
吧。线程