如何优化提高tomcat启动速度

在tomcat启动的时候,我们可以做一些优化设置来使得tomcat的启动更快速,下面是一些常见的优化加速启动的方法建议(以tomcat-7.+为例说明)。

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
id或其它地方取得随机数值,这取决于你的JRE,它有可能在tomcat启动时造成非常大的耗时,比如,在子猴启动tomcat-7.0.26的时候,它耗时近25秒!

INFO: Creation of SecureRandom instance for session ID generation using
[SHA1PRNG] took [24,790] milliseconds.

要解决这个问题,可以通过配置JRE使用非阻塞的Entropy Source,在bin/
catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom 即可。

加入后我再启动tomcat,整个启动下降到仅耗时Server startup in 912 ms。

时间: 2024-09-28 20:33:30

如何优化提高tomcat启动速度的相关文章

tomcat 修改日志路径以及优化内存和启动速度

在server.xml 修改如下 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs/log" prefix="localhost_access_log" suffix=".log" pattern=""%{X-FORWARDED-FOR}i"client":"%h&qu

Windows8提高了启动速度

Windows7相比Windows8提高了启动速度.Windows8启动是一种全新的快速启动模式,该模式是传统冷启动和休眠恢复的混合体.在传统关机模式中,电脑会关闭所有“用户会话”,并在“内核会话”中关闭服务和设备,以便为彻底关机做准备.与Windows 7中一样,Windows 8会关闭“用户会话”,但不再关闭“内核会话”,而是将其休眠.与执行完整系统初始化相比,恢复休眠的系统会话的工作量将大大减少,这是启动速度加快的原因之一.同时,微软添加的多阶段恢复功能可以并行利用多核系统的所有核心,将读

安装apr来提高tomcat 的可伸缩性和性能

安装apr来提高tomcat 的可伸缩性和性能 一,下载apr 和 apr-util最新版 [[email protected] tomcat]# cd /usr/local/ [[email protected] tomcat]# wget  http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz [[email protected] tomcat]# wget http://mirrors.cnnic.cn/apache//apr/apr-u

优化tomcat启动速度

1.去掉不需要的jar包,这样tomcat在启动时就可以少加载jar包里面的class文件. 2.跳过一些与TLD files.注解.网络碎片无关的jar包,通过在conf/catalina.properties中 的tomcat.util.scan.DefaultJarScanner.jarsToSkip属性中进行设置. 3.JVM的内存空间设置 bin/catalina.sh中,JAVA_OPTS="-Xms1024m -Xmx1024m" 4.简化配置文件server.xml,因

(精)Linux优化的Tomcat部署

以下配置是基于Centos6.6系统. 1.1.1      优化系统 1.1.1.1              定时校正服务器的时间 手动调整时间:date -s "2015-05-02 10:00:00" 自动同步: #修改时区 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改为中国的东八区 vi /etc/sysconfig/clock #修改以下内容 ZONE="Asia/Shanghai" UT

提高tomcat的并发能力

1.Apache + Tomcat 结合起来用Apache负责静态页面,Tomcat负责动态页面,同时减少connectionTimeout的时间,以应对并发量大线程回收来不及的情况. 2.压力过大的问题,可以做负载均衡,一个TOMCAT无论如何也不可能担当如此多的线程负载,而且JVM过大,其内存管理成本将显著加大.2G的内存,做3-4个TOMCAT实例(512RAM*4),更为科学合理. 3.数据库连接池,不少人,都推荐使用C3P0,能提高访问数据库的并发性能好几倍. 4.采用Tomcat集群

android 提高App启动速度

公司的App启动速度太慢了要求提高启动速度, 于是动手研究下 把启动速度从2000ms降低到800ms左右. 先记录下提速的方法 application的Oncreate方法里面的逻辑代码全用 new Handler().post(new Runnable());包裹 Activity的Oncreate()方法如此: 这种方法会把代码执行的时序全拖到onResumer之后 3,然后在Oncreate onresume 方法 一切你认为会阻碍到启动速度的方法和代码加上log打印信息 看图 看点击的

java架构师负载均衡、高并发、nginx优化、tomcat集群、异步性能优化、Dubbo分布式、Redis持久化、ActiveMQ中间件、Netty互联网、spring大型分布式项目实战视频教程百度网盘

15套Java架构师详情 * { font-family: "Microsoft YaHei" !important } h1 { background-color: #006; color: #FF0 } 15套java架构师.集群.高可用.高可扩展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  clo

java集群优化——Nginx+tomcat集群配置-理论篇

我们了解一个道理,就是数据的增长是我们必然面对的问题,因为在技术日益变化的当下,我们收集数据的方式和存储及处理技术不断升级,迫使我们面对这一问题,并且,在数据挖掘日益火热的今天,我们也要对这样的问题加以重视,改变在所难免! 我们曾经想过,在极致优化的情况下,一台普通服务器,是可以挖掘出无穷的潜力的,我的们的确曾做到这一点,用一台2万元的设备,承载了同时1万余人的并发,但是随着技术的衍生,我们需要更灵活地处理应用,我们需要更及时的响应速度,我们需要实时地对数据进行分析和处理!这时,我们必然接触一个