Spring Boot优化

Posted 异想天开

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot优化相关的知识,希望对你有一定的参考价值。

   针对目前的容器优化,目前来说没有太多地方,需要考虑如下几个点:

  • 线程数
  • 超时时间
  • jvm优化   

   首先线程数是一个重点,初始线程数和最大线程数,初始线程数保障启动的时候,如果有大量用户访问,能够很稳定的接受请求, 而最大线程数量用来保证系统的稳定性,而超时时间用来保障连接数不容易被压垮,如果大批量的请求过来,延迟比较高,不容易把线程打满。这种情况在生产中是比较常见的。一旦网络不稳定,宁愿丢包也不愿意把机器压垮。

 JVM优化一般来说没有太多场景,无非就是加大初始的堆,和最大限制堆,当然也不是无限增大,根据的情况进行调节

 一、线程数设置

server:
  tomcat:
    max-threads: 100
    min-spare-threads: 20
    connection-timeout: 5000
  ssl:
    key-store: classpath:.keystore
    key-store-type: JKS
    key-password: qq123456
    key-alias: tomcat
  port: 8443

二、JVM设置

 1)设置内存初始值

java -Xms10m -Xmx80m -jar xxx.jar & (m说明为MB,否则为KB)
-Xms:初始值
-Xmx:最大值
-Xmn:最小值

2)时区设置

java -jar -Duser.timezone=GMT+08 xxx.jar &

3)检查堆栈信息

jps 查看PID
jmap -histo PID|head

 备注:如果有jar包中包含jar或者jar包中包含class文件,那么会使用!/分隔开,这种方式只有org.springframework.boot.loader.jar.Handler能处理,它是SpringBoot内部扩展出来的一种URL协议。

jar:file:/xxx.jar!/lib/spring-boot-loader.jar

三、内嵌Tomcat优化

 SpringBoot优化内嵌的Tomcat ---设置MaxConnections,参见:http://www.cnblogs.com/softidea/p/5751596.html

 https设置参见:http://mojijs.com/2016/11/220956/index.html

 BIO及NIO设置参见:https://my.oschina.net/u/252181/blog/832562

以上是关于Spring Boot优化的主要内容,如果未能解决你的问题,请参考以下文章

解决spring-boot启动中碰到的问题:Cannot determine embedded database driver class for database type NONE(转)(代码片段

Spring Boot制作个人博客-代码优化

Spring Boot制作个人博客-代码优化

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式