首页 > 其他 > 详细

SprintBoot性能优化

时间:2019-06-05 11:36:15      阅读:99      评论:0      收藏:0      [点我收藏+]

启动优化

显示声明扫包范围:即不使用@SpringBootApplication默认扫包,使用@ComponentScan(basePackages = { "com.xxx.controller" ,"com.xxx.service" })显示声明扫包范围。

原因是@SpringBootApplication默认扫包,扫的是启动类下的所有子包,实际开发场景中有很多包是不需要扫的,所以用默认的扫包会去扫很多本来就不用扫的包。

验证是否有优化效果的时候,如果是自己写的demo,验证不出来,因为包和类太少了,可以用公司的实际项目验证一下,启动会快很多。

运行优化

使用Undertow服务器:默认情况下,SpringBoot使用Tomcat来作为内嵌的servlet容器。可以将web服务器切换到Undertow来提高应用性能。

Undertow是一个采用Java开发的灵活的高性能web服务器,提供包括阻塞和基于NIO的非阻塞机制。Undertow是红帽公司的开源产品,是Wildfly默认的web服务器。

过多的就不在介绍了,自行百度了解更多。

首先移除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>

添加Undertow

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

SpringBoot JVM参数调优:根据服务器的内存大小,来设置堆参数。

-Xms :设置Java堆栈的初始化大小

-Xmx :设置最大的java堆大小

实例参数-XX:+PrintGCDetails -Xmx32M -Xms1M

本地项目调优

技术分享图片

 

 

外部运行调优

java -server -Xms32m -Xmx32m  -jar springboot_v2.jar

技术分享图片

 

SprintBoot性能优化

原文:https://www.cnblogs.com/ibigboy/p/10978550.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!