- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何优化提高tomcat启动速度精要
如何优化提高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/perties中进行设置。
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文件,在默认的情况下web-app中的属性metadata-complete的值为false,也就是这样:web-app 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 即可。
1 ? ? ? ? ?概述?
? ? ? ? 本文档主要介绍了Tomcat的性能调优的原理和方法。可作为公司技术人员为客户Tomcat系统调优的技术指南,也可以提供给客户的技术人员作为他们性能调优的指导手册。
2 ? ? ? ? ?调优分类?
? ? ? ? 由于Tomcat的运行依赖于JVM,从虚拟机的角度我们把Tomcat的调整分为外部环境调优和自身调优两类来描述。?
2.1 ? ? ?外部环境调优?
调整Tomcat运行环境的操作系统参数和运行Tomcat的java虚拟机参数。?
2.1.1 ? ? ? ?JAVA虚拟机性能优化?
? ? ? ? Tomcat需要依赖Java虚拟机运行。根据客户选用的主机的操作系统选择对应的 JDK的版本。无论哪个厂商的JDK,都建议使用最新的版本。?
? ? ? ? 虚拟机可通过命令行的方式改变虚拟机使用内存的大小。如下表所示有两个参数用来设置虚拟机使用内存的大小。?
? ? ? ? 参数 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 描述?
? ? ? ? -Xmssize ? ? ? ? ? ? ? ?JVM初始化堆的大小?
? ? ? ? -Xmxsize ? ? ? ? ? ? ? ?JVM堆的最大值?
? ? ? ? Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。?
[
您可能关注的文档
最近下载
- 京剧的服装课件.ppt VIP
- 保证供货周期的组织方案和人力资源安排.doc VIP
- 乌有先生历险记(原文,练习,注释,翻译)解读.doc
- 红色经典故事PPT课件.pptx VIP
- (人教版2024)生物七上2.2.1 无脊椎动物(新教材).pptx
- 2023-2024学年江西省上饶市余干县八年级上期中物理试卷附答案解析.pdf
- 西北师范大学教育学理论与实践期末试卷.doc VIP
- 2023年成都信息工程大学数据科学与大数据技术专业《数据结构与算法》科目期末试卷B(有答案).docx VIP
- 河北省衡水中学2024-2025学年高三上学期第一次综合素养测评数学试题(原卷版).docx
- 数据结构(用面向对象方法与C++语言描述)第二版.pdf VIP
文档评论(0)