ifuleyou 发表于 2018-12-4 07:48:52

如何优化提高tomcat启动速度

  1、Jars包
  1.1、将一些不必要的jar包去掉,当tomcat启动加载jar包的时候,会去搜寻每个jar包里的class文件,这些都会耗费一些时间,如果你把不必要的jar包去掉了,很显然会节省时间。
  1.2、你可以将一些与TLD files、注解、网络碎片无关的jar包加入到属性
  tomcat.util.scan.DefaultJarScanner.jarsToSkip的值中,这可以在conf/catalina.properties中进行设置。
  2、缓存
  你可以在bin/catalina.sh中设置jvm所能使用到的缓存大小,如下:
  JAVA_OPTS=’-Xms1024m -Xmx1024m’
  3、配置文件
  Tomcat的配置比如server.xml是xml文件,而xml的解析也是要花时间的,如果我们能将xml配置文件尽可能地弄得简洁一些,比如去掉一些没有用到的节点,这也有助于减少启动的时间,虽然这个节省的时间看来很少。
  4、应用程序
  4.1、确保你程序在启动的时候没有一些处理很耗时的地方。
  4.2、删除掉tomcat自带的目录webapps及下面的所有内容,不然的话每次启动的时候都会加载这些自带的例子。
  4.3、修改WEB-INF/web.xml文件,在默认的情况下中的属性metadata-complete的值为false,也就是这样:,这种情况下,tomcat在启动时会去自动扫描是否有注解及网络碎片,如果你不想tomcat这样做,你可以将metadata-complete的值设为true。
  5、并行启动多个应用程序
  默认情况下,假设在一个tomcat下你有多个应用,那么启动的时候,这些应用程序都是依次启动的,除非所有应用全部启动完毕,tomcat才会启动完成,但从Tomcat 7.0.23+开始,你可以配置多个应用程序并行启动了!你可以通过修改配置文件中Host里面的startStopThreads这个属性的值来达到这个目的,将多个应用startStopThreads的值设为不同即可。
  6、Entropy Source

  Tomcat 7+严重依赖SecureRandom这个类为它的session>
  INFO: Creation of SecureRandom instance for session>  要解决这个问题,可以通过配置JRE使用非阻塞的Entropy Source,在bin/ catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom 即可。
  加入后我再启动tomcat,整个启动下降到仅耗时Server startup in 912 ms。
  以上内容由子猴翻译自tomcat官方网站。
  原文地址:http://www.zihou.me/html/2012/04/01/6995.html

页: [1]
查看完整版本: 如何优化提高tomcat启动速度