JEE与Spring Boot代码性能比较

栏目: Java · 发布时间: 7年前

内容简介:JavaEE与Spring Boot其实很难比较测试,前者适合单体SOA架构,后者适合微服务,但是还是有好事者把两者放在一起比较性能。我把一些JEE和Spring代码放在一起做了同样的事情。Spring做了一些开箱即用的好东西,所以我在一些JEE示例中复制了它以提高性能。测试环境:IBM JRE 8.0.5.22、IBM Liberty 18.0.0.3 App Server、底层使用Ubuntu Linux 18.04.1 LTS和MySQL 5.7.24以及MySQL 8.0.13 JDBC驱动程序。

JavaEE与Spring Boot其实很难比较测试,前者适合单体SOA架构,后者适合微服务,但是还是有好事者把两者放在一起比较性能。

我把一些JEE和Spring代码放在一起做了同样的事情。Spring做了一些开箱即用的好东西,所以我在一些JEE示例中复制了它以提高性能。

测试环境:IBM JRE 8.0.5.22、IBM Liberty 18.0.0.3 App Server、底层使用Ubuntu Linux 18.04.1 LTS和 MySQL 5.7.24以及MySQL 8.0.13 JDBC驱动程序。

硬件:采用AMD 2700x Ryzen处理器,在2600 GHz频率下具有32 GB内存。

实际结果:

  • Spring可以节省一些编码时间
  • Spring通常会为性能做出很好的选择,但是加入到JEE应用程序时,这些优势就会消失。
  • Spring执行save()或findAll()之类方法时不履行@Transactional,Spring会更改隔离级别和事务传播。这使得Spring在执行非更新数据库的功能时具有优势,但是IMO,Spring应该真正尊重设置的隔离级别和传播。当改变JEE中的方法的隔离级别和传播时,JEE会更快。
简单REST调用
Liberty        perfRESTJEE      3631 ms
Liberty        perfRESTSpring    2909 ms
SpringBoot       perfRESTSpring    3064 ms

REST with JPA

Liberty      perfRESTJPAJEE      65531 ms
Liberty      perfRESTJPASpring    37076 ms
SpringBoot    perfRESTJPASpring    37757 ms

REST with JPA (EclipseLink)

Liberty       perfRESTJPASpring-EL   37709 ms
SpringBoot    perfRESTJPASpring-EL    76791 ms

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python高性能编程

Python高性能编程

【美】 戈雷利克 (Micha Gorelick)、【美】 欧日沃尔德(Ian Ozsvald) / 人民邮电出版社 / 2017-7-1 / 79

本书共有12章,围绕如何进行代码优化和加快实际应用的运行速度进行详细讲解。本书主要包含以下主题:计算机内部结构的背景知识、列表和元组、字典和集合、迭代器和生成器、矩阵和矢量计算、并发、集群和工作队列等。最后,通过一系列真实案例展现了在应用场景中需要注意的问题。 本书适合初级和中级Python程序员、有一定Python语言基础想要得到进阶和提高的读者阅读。一起来看看 《Python高性能编程》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具