前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot入门--springboot性能优化

SpringBoot入门--springboot性能优化

作者头像
编程大道
发布2019-07-15 16:48:35
1.4K0
发布2019-07-15 16:48:35
举报
文章被收录于专栏:编程大道编程大道

SpringBoot启动优化

显示声明扫包范围

即不使用@SpringBootApplication默认扫包,使用ComponentScan注解显示声明扫包范围。

代码语言:javascript
复制
@ComponentScan(basePackages={ “com.xxx.controller” ,“com.xxx.service” })

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

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

SpringBoot运行优化

使用Undertow服务器

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

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

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

首先移除 Tomcat

代码语言:javascript
复制
<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 依赖

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

Tomcat 与 Undertow 吞吐量对比(在本人电脑上实际测试)

SpringBoot JVM参数调优

根据服务器的内存大小,来设置堆参数。

-Xms :设置Java堆栈的初始化大小 -Xmx :设置最大的java堆大小 实例参数-XX:+PrintGCDetails -Xmx32M -Xms1M

本地项目调优

外部运行调优

代码语言:javascript
复制
java -server -Xms32m -Xmx32m  -jar springboot_v2.jar
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BiggerBoy 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档