Springboot实现将默认tomcat容器改为Undertow
Undertow是啥
Undertow是Red Hat公司的开源产品, 它完全采用Java语言开发,是一款灵活的高性能Web服务器,支持阻塞IO和非阻塞IO。
由于Undertow采用Java语言开发,可以直接嵌入到Java项目中使用。同时, Undertow完全支持Servlet和Web Socket,在高并发情况下表现非常出色。
undertow 是一个服务器,在相同资源使用量的情况下 undertow 比 tomcat 有更好的吞吐量和较低的访问时延。
Springboot使用Undertow
依赖:
<!--移除tomcat依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--增加Untertow 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
使用jmeter做压力测试:10000次的并发测试
https://blog.csdn.net/weixin_42412601/article/details/107117736
接口:
@RequestMapping("testStudent")
@ResponseBody
public Object testStudent(){
return "test";
}
三次测试结果
吞吐量
tomcat 3679 3671 3706 undertow 5130 4943 5058
参数设置:
https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html#server-properties

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring整合redis(jedis)实现Session共享的过程
这篇文章主要介绍了Spring整合redis(jedis)实现Session共享,需要的朋友可以参考下2018-06-06
解决SpringBoot使用@Value获取不到yaml中配置值的问题
在最近的开发中遇到一个问题,使用@Value获取yml文件中配置的属性时始终获取不到值,所以本文给大家详细介绍了SpringBoot使用@Value获取不到yaml中值的问题分析及解决方法,需要的朋友可以参考下2024-01-01
MybatisPlus 插入或更新数据时自动填充更新数据解决方案
本文主要介绍了MybatisPlus 插入或更新数据时自动填充更新数据解决方案,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-09-09
Apache DolphinScheduler实现自动化打包单机/集群部署详解
这篇文章主要为大家介绍了Apache DolphinScheduler实现自动化打包单机/集群部署详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-09-09
Java实现用Freemarker完美导出word文档(带图片)
这篇文章主要介绍了Java实现用Freemarker完美导出word文档(带图片),具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-07-07


最新评论