SpringBoot内置了三种servlet容器供大家选择,默认的是tomcat,三种servlet容器 tomcat,jetty 和 undertow 可以说是javaweb项目当下最火的三款服务器,tomcat是apache下的一款重量级的服务器,不用多说历史悠久,经得起实践的考验。然而:当下微服务兴起,spring boot ,spring cloud 越来越热的情况下,选择一款轻量级而性能优越的服务器是必要的选择。spring boot 完美集成了tomcat,jetty和undertow。
一、SpringBoot 内嵌容器切换
1、切换Tomcat
默认就是,不必切换
1
2
3
4
2、切换Jeety
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
3、切换Undertow
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
二、SpringBoot 内嵌容器性能对比
准备:三个springboot的web项目jar报,分别使用 tomcat,jetty 和 undertow
压测工具:JMeter
1、单例接口压测
1)JMeter配置,300个线程,10秒内启动,一个线程循环请求60次,如下,只对一个接口 (HTTP请求-list) 进行压测
2)压测结果
Tomcat:
JMete:
Undertow:
2、混合接口压测
1)JMeter配置,300个线程,10秒内启动,一个线程循环请求60次,如下,只对三个接口 (HTTP请求-list、) 进行压测
2)压测结果
Tomcat:
JMete:
Undertow:
注:单接口比混合接口慢与接口复杂度有关
参考:
1、https://www.cnblogs.com/fanshuyao/p/8668059.html
2、https://www.cnblogs.com/maybo/p/7784687.html