具体描述?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
1、扫包优化
注意:扫包优化指优化启动速度。
原理:@SpringBootApplication 默认会扫当前包和同级包,使用递归遍历的方式扫子包和类。可能会扫到无用的包。使用 @ComponentScan 只扫controller和service层 + @EnableAutoConfiguration 的方式启动,可以减少部分启动时间。 2、jvm参数调优
参数调优对启动速度影响不大,主要影响运行整体速度(比如吞吐量:默认每秒完成的请求数量)。
调优策略:初始化堆内存与最大相同(默认最大4G,但初始化不是),并给予足够的大小,可以大量减少gc回收次数。
内部调优(感觉没啥用): 在eclipse启动项目时配置:-XX:+PrintGCDetails -Xmx4096M -Xms4096M
-Xmx:最大堆内存大小
-Xms:初始化堆内存大小
外部调优:命令启动jar包时:java -server -Xmx4096M -Xms4096M -jar xxx.jar
3、修改Tomcat容器为Undertow容器
Undertow:也是一个web服务器,属于JBoss旗下。点击此处了解。
Spring Boot默认web容器是Tomcat,而Tomcat的吞吐量大概在5000,而Undertow的吞吐量大约在8000,明显优于Tomcat。