文章目录

  • 测试环境
  • 压测环境:
  • 压测指标
  • 结论

Tomcat,Jetty和Undertow是目前比较主流的3款Servlet容器,而且Spring Boot框架还提供了对它们的集成支持(默认使用的是Tomcat),网络上有许多文章都在介绍Undertow容器的性能比Tomcat和Jetty要好。本着事实就是的原则,我对这三款容器做了一个压测对比,真正通数据来对比到底是谁有优势,同时也是作为容器选择的一个参考。

测试环境

压测工具:JMeter 5.2.1,使用插件jpgc-casutg提供的Concurrency Thread Group线程组对象
测试程序:一个简单的基于Spring Boot框架程序,提供2个接口,分别模拟返回简单字符串对象和复杂对象,详见:https://gitee.com/cchanghui/test-servlet-container.git
测试用例:分别使用100个线程,500个线程,1000个线程三组压力进行测试

压测环境:

操作系统:Ubuntu 18.04 LTS Desktop
处理器:Intel® Core™ i5-6200U CPU @ 2.30GHz × 4
内存:8GB
压测主要指标:响应时间,吞吐量,系统负载(CPU,内存,线程数)

压测指标

1.吞吐量及响应时间
吞吐量:Undertow > Jetty > Tomcat
响应时间:Jetty < Tomcat < Undertow
2.CPU使用率:Undertow < Jetty < Tomcat
3.内存使用率:Undertow < Jetty < Tomcat
4.线程数:Undertow < Jetty < Tomcat

结论

结论:综合吞吐量,响应时间以及资源消耗,Undertow胜出。

别再误人子弟了-tomcat、undertow、jetty性能对比

原文 https://cloud.tencent.com/developer/article/1699803

Tomcat vs Jetty vs Undertow性能对比相关推荐

  1. Tomcat vs. Jetty vs. Undertow: Comparison of Spring Boot Embedded Servlet Containers

    原文地址:https://examples.javacodegeeks.com/enterprise-java/spring/tomcat-vs-jetty-vs-undertow-compariso ...

  2. Tomcat之NIO和APR性能对比

    寄上一篇Tomcat的接收请求方式:BIO/NIO/APR继续 环境介绍 version:Apache Tomcat 8.5 操作系统:Mac OS X 10.14.5 JVM:1.8.0 测试数据场 ...

  3. Undertow,Tomcat和Jetty服务器之间的区别

    Undertow,Tomcat和Jetty服务器配置详解与性能测试 本文文章是通过研究时下比较流行的Java框架spring boot引发的思考,希望大家能一起学习.undertow,jetty和to ...

  4. 吊打 Tomcat ,Undertow 性能很炸!!

    在 Java Web 容器的世界里,Tomcat 和 Jetty 是大名鼎鼎的.用的最多的开源项目,也是大众熟知的. 今天再介绍另外一款能和 Tomcat 媲美的神器:Undertow,据说性能方面还 ...

  5. servlet container:tomcat jetty and undertow

    1 spring boot内嵌容器支持tomcat.jetty和undertow 但是undertow性能最好,详见: https://examples.javacodegeeks.com/enter ...

  6. jetty与Undertow

    Jetty 一.jetty的基本讲解 1.基本概念 jetty: Jetty是一个开源的servlet容器,它为基于Java的web容器, 例如JSP和servlet提供运行环境.Jetty是使用Ja ...

  7. Java REST API Server 性能比较 Tomcat/Jetty/Grizzly/Undertow

    JSR-356:WebSocket JSR-311:JAX-RS 原文地址 https://menelic.com/2016/01/06/java-rest-api-benchmark-tomcat- ...

  8. 为什么很多 SpringBoot 开发者放弃了 Tomcat,选择了 Undertow?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:阿迈达 toutiao.com/a6775476659416 ...

  9. 为什么很多SpringBoot开发者放弃了Tomcat,选择了Undertow

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:阿迈达 toutiao.com/a6775476659416 ...

最新文章

  1. ps里面怎么插入流程图_photoshop cs6绘画带箭头简单流程图的操作步骤介绍
  2. idea中git打tag(亲测)
  3. Android引入library失败的可能原因
  4. 介绍一个好用的能让网页变成黑色背景的护眼 Chrome 扩展应用 - Night Eye
  5. SAP Fiori 应用无法根据contact搜索的原因分析
  6. F5实现2台机器的热备 Priority Group Activation
  7. java垃圾回收文档整理
  8. 使用javascript实现点击复制到剪贴板
  9. Java 实训1:编写一个窗体程序显示日历表。
  10. 医院为什么要上患者随访管理系统?
  11. matlab小波变换、离散小波变换函数使用
  12. 用Python带大家写个自动生成艺术签名的小工具哟~
  13. Python表白代码:“ 星光月夜烟花皆归你,我也归你”
  14. 加薪申请书怎么写?加薪申请范文,想涨工资的看过来!
  15. 企业微信群机器人怎么用
  16. vector erase() and clear() in C++ -- vector的函数erase()和clear()
  17. 在线考试系统软件测试总结,在线考试系统软件测试用例报告.doc
  18. NDN-lite 命名数据网络 -----第二章:对Interest和Data包的处理
  19. uni-app中接入友盟统计
  20. Andriod小项目——在线音乐播放器

热门文章

  1. php echo webtitle,?php echo htmlspecialchars(stripslashes($rows['webtitle'])); ?
  2. ASP.NET母版页(Razor主版页面框架)
  3. php微信小程序支付流程,微信小程序支付流程
  4. Java遍历Properties的所有的元素,四种方法详细总结的代码实例
  5. 企业组织员工体检的意义在哪里?让我来告诉你
  6. 水塘抽样(Reservoir sampling)
  7. matlab root什么意思,root是什么意思?
  8. java的screen_Java ScreenUtil.getScreenSize方法代码示例
  9. 123012016068-吴雨晴-android博客,Flutter全方位深入探索
  10. 中国中间相沥青基碳纤维行业研究与投资预测报告(2022版)