Spring boot应用启动后首次访问很慢的问题

Spring boot应用在ECS服务器上启动后首次访问很慢的问题
环境:
  • CentOS7
  • JDK1.8
  • MYSQL8
  • 应用是Spring boot框架的(内嵌式tomcat)jar文件
问题描述:

通过命令:nohup java -jar XXXX.jar & 启动项目后浏览器访问响应十分的缓慢,网页图片和css等静态资源加载的十分缓慢(网站登录更是需要好几分钟才能完全加载完毕)。
然后在Google浏览器搜索了一下(已),搜索需用英文,类似问题看来不是个例呀,甚至JDK bug列表汇中就有相似的bug,如JDK-6521844 : SecureRandom hangs on Linux Systems,但这些bug都标记为fixed。但明显没有完全fix掉啊。然后继续找,原来

  • Avoiding JVM Delays Caused by Random Number Generation
  • How do I make Tomcat startup faster?

    正好记录了这个随机数生成慢的原因和解决方案。Java随机数生成依赖熵源(Entropy Source),默认的阻塞型的 /dev/random熵源可能导致阻塞,而换一个非阻塞的 /dev/urandom的熵源就可以了。
    进入你的JAVA_HOME的jre目录下找到并vim编辑这个文件:
    $JAVA_HOME/jre/lib/security/java.security
    找到:
    securerandom.source=file:/dev/random 这一行
    改之前:
 securerandom.source=file:/dev/random

改为:

 securerandom.source=file:/dev/urandom

然后保存修改就OK了!

你可能感兴趣的:(java,Spring,boot,tomcat)