专栏首页晓月寒·别再误人子弟了-tomcat、undertow、jetty性能对比
原创

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

在网上搜索查询发现清一色的都是说undertow高并发性能优于tomcat,并且还提供了各种实验依据以作证明,但是我私下测试发现情况和网上大部分结果并不一致。

简单接口测试

    @GetMapping("/test")
    public String test() {
        return UUID.randomUUID().toString();
    }

这是第一次测试的接口,使用jemter每秒600个线程调用这个接口。

Tomcat

cpu最高点稳定在40%,吞吐量能达到7万。

Undertow

cpu高点接近60%,吞吐量4万6。

Jetty

cpu高点在50%,吞吐量达到5万。

结论

在简单接口中,发现tomcat对于cpu的占用是最低的,而且吞吐量最高。另外jetty停止测试花费了最长的时间导致吞吐量变低。

简单接口下吞吐量:tomcat>jetty>undertow

cpu:tomcat>jetty>undertow

复杂接口测试

Tomcat

cpu高点在45%左右,吞吐量2万3。

Undertow

cpu高点在50%,吞吐量2万2。

Jetty

cpu高点在60%,吞吐量2万。

结论

在稍复杂的接口测试下,tomcatunderwow的差距并没有很大,但是tomcat在吞吐量和cpu方面依然占据了稍小的优势,jetty与前两者存在差距。

复杂接口下吞吐量:tomcat>undertow>jetty

cpu:tomcat>undertow>jetty

从结果来看,tomcat依然是最稳定的服务器,而不是网上各种博主说的undertow更优。而jetty更适合长连接的服务,但是长连接我更倾向于选择nettyundertow更适合用于IO密集型服务器,或者文件服务器使用undertow会是一个不错的选择,但是在一般情况下还是老老实实的使用Springboot默认的tomcat吧。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • linux的命令操作

    查看有谁在线(哪些人登陆到了服务器) who 查看当前在线 last 查看最近的登陆历史记录

    我的小熊不见了丶
  • Spring Boot从入门到精通-集成swagger

    这一步完成之后,启动项目,打开 localhost:8080/swagger-ui.html#/就可以看到swagger的界面了,并且我们写好的那个接口也已经躺...

    我的小熊不见了丶
  • Spring AOP使用指南,详细了解AOP相关注解

    spring aop可以在spring构建的系统中使用面向切面编程。当然Spring Boot也是基于Spring构建的。使用AOP

    我的小熊不见了丶
  • SAP UI configuration determination的优先级

    CRM WebUI的text determination logic: https://blogs.sap.com/2014/03/07/ui-text-la...

    Jerry Wang
  • 有理有据:一篇来自前端同学对后端接口的吐槽!

    来源 | juejin.im/post/5cfbe8c7e51d4556da53d07f

    程序猿DD
  • 来自前端同学对后端童鞋的吐槽!@!#^$%

    去年的某个时候就想写一篇关于接口的吐槽,当时后端提出了接口方案对于我来说调用起来非常难受,但又说不上为什么,没有论点论据所以也就作罢。最近因为写全栈的缘故,团队...

    Java小咖秀
  • 人物 | 随手记财务经理杨攀:专注严谨诠释资深财务人的进阶之路

    本期访谈嘉宾是金蝶随手科技集团财务经理杨攀,他从事财务工作10年,从传统零售业的基础会计到互联网金融的财务经理,从只懂核算的会计到掌握数据分析,懂得统筹管理的财...

    金蝶云社区
  • 【编程入门】C语言堆栈入门——堆和栈的区别

    在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时...

    程序员互动联盟
  • # TCP粘包

    使用分隔符分割消息,比如:\r、\r\n、@@$$等,定义一个特殊的字符用来分割消息。

    用户1175783
  • 错过血亏!一文搞懂Oracle锁相关视图及相关操作

    第一个视图是v$transaction,就是Oracle数据库所有活动的事务数,所有活动的事务每一个活动的事务在这里有一行。

    数据和云

扫码关注云+社区

领取腾讯云代金券