为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

tomcat优化说明书

2011-08-23 5页 doc 186KB 35阅读

用户头像

is_920575

暂无简介

举报
tomcat优化说明书tomcat性能优化指南 1.​ 操作系统调优 对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。【适用场景】 任何项目。 2.​ Java虚拟机性能选择  应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。 JDK1.4比JDK1.3性能提高了近10%-20%,JDK1.5比JDK1.4性能提高25%-75%。 因此对性能要...
tomcat优化说明书
tomcat性能优化指南 1.​ 操作系统调优 对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。【适用场景】 任何项目。 2.​ Java虚拟机性能选择  应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。 JDK1.4比JDK1.3性能提高了近10%-20%,JDK1.5比JDK1.4性能提高25%-75%。 因此对性能较高的情况推荐使用 JDK1.6。  3.​ Tomcat性能选择 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,同时它也是最优秀的项目之一。 Tomcat版本对照: Servlet/JSP Spec  Apache Tomcat version 2.5/2.1 6.0.14 + 2.4/2.0  5.5.25 + 2.3/1.2  4.1.36 + 2.2/1.1 3.3.2 + 由于目前大多开源项目都是使用的servlet2.4+和jsp2.0,所以推荐使用tomcat5.5以上服务器。 4.​ 项目调优说明 4.1.​ JAVA虚拟机性能优化 在发布tomcat的时候,可以给Java虚拟机设置使用的内存,但是如果你的选择不对的话,虚拟机不会补偿。可通过命令行的方式改变虚拟机使用内存的大小。如下表所示的参数用来设置虚拟机使用内存和资源的消耗大小(JAVA_OPTS=…)。 参数 描述 -Xms JVM初始化堆的大小 -Xmx JVM堆的最大值(实际消耗会稍大于此值) 我们一般把-Xms和-Xmx设为一样大,而堆的最大值受限于系统使用的物理内存。一般建议堆的最大值设置为可用内存的最大值的80%,但是不要超过物理内存+虚拟内存的1/4。 -XX:PermSize 指明虚拟机为java永久生成对象(Permanate generation)如,class对象、对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。 注意。-XX:MaxPermSize过小会导致:java.lang.OutOfMemoryError: PermGen space -XX:MaxPermSize -XX:MaxNewSize MaxPermSize缺省值和-server -client选项相关。 -server选项下默认MaxPermSize为64m -client选项下默认MaxPermSize为32m -server 让tomcat以服务器模式启动 -XX:ThreadStackSize 每个线程的堆栈大小,可以由-Xss代替 -Xss 设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。 样例如下($TOMCAT_HOME/bin/catalina.sh): # Set juli LogManager config file if it is present and an override has not been issued JAVA_OPTS='-server –Xms1024m -Xmx1024m -XX:PermSize=64m -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true -XX:ThreadStackSize=256' if [ -z "$LOGGING_CONFIG" ]; then if [ -r "$CATALINA_BASE"/conf/logging.properties ]; then LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties" else # Bugzilla 45585 LOGGING_CONFIG="-Dnop" fi fi 4.2.​ Tomcat性能优化 Tomcat所有的性能优化都在$TOMCAT_HOME/conf/server.xml中,在不使用ajp服务的情况下,直接修改http1.1对应的Connector节点: 参数 描述 protocol 请求模式,默认为HTTP/1.1 在启用了APR服务后(目前项目未启用) 可以配置为org.apache.coyote.http11.Http11Protocol或者org.apache.coyote.http11.Http11NioProtocol enableLookups 启用DNS查询,默认为启用(true) 建议在非硬集群的情况下关闭此服务 maxHttpHeaderSize 最大请求头的大小,默认为8192 (8 KB) useBodyEncodingForURI 为URI使用页面编码,默认为false,如果为了实现国际化使用了UTF-8模式,请修改为true minSpareThreads 最小备用线程,tomcat启动后会启动的备用线程。 在org.apache.coyote.http11.Http11NioProtocol模式中无效 maxSpareThreads 最大备用线程,tomcat6.0以后,此属性无效 URIEncoding 为URI的非英语体系进行decode编码。在纯中文环境中请配置为true acceptCount 默认为100。指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。 此属性会影响相应时间,如果服务器错误过多,请适量放大此属性。 disableUploadTimeout 运行servlet使用不同的长连接来处理上传,默认为true,如果项目有大型文件上载,请不要修改此属性。 debug debug等级,发布版请修改为0。 Tomcat6以上此属性无效。 connectionTimeout 网络连接超时,单位:毫秒。设置为0表示永不超时(不推荐)。 maxThreads 最大线程数,默认为150。 此属性如果小于minSpareThreads,将无效。 在APR模式中,此属性无效。 compression 启用压缩,默认为关闭(false)。在大并发的情况下,请打开。 compressionMinSize 只能在compression=true模式下有效。 最小压缩值,此值过高会影响cpu消耗,推荐为2048,如果cpu消耗过大(>40%),请降低为1024。 noCompressionUserAgents 只能在compression=true模式下有效。 不压缩的客户端。 compressableMimeType 只能在compression=true模式下有效。 需要压缩的mime类型 样例如下($TOMCAT_HOME/bin/conf/server.xml): 4.3.​ 推荐配置文件(当前项目,实际请更具压力测试结果进行配置) 服务器配置 支撑并发(5秒) 配置文件 2C4G 500 2C4G 1000 4C8G 2000 5.​ 日志文件调优说明 关闭项目根路径/WEB-INF/classes/log4j.properties中调试信息。 log4j.rootLogger=ERROR, logfile log4j.logger.org.apache=WARN log4j.logger.com.opensymphony=WARN log4j.logger.net.sf=ERROR log4j.logger.net.sf.hibernate=ERROR log4j.logger.net.sf.hibernate.SQL=ERROR log4j.logger.org.hibernate=ERROR log4j.logger.org.springframework=ERROR #log4j.logger.org.springframework.beans=ERROR log4j.logger.org.apache.catalina=ERROR log4j.logger.org.apache.commons=ERROR log4j.logger.org.apache.struts2=ERROR log4j.logger.org.apache.velocity=ERROR log4j.logger.freemarker=WARN log4j.logger.com.mchange.v2=INFO log4j.logger.org.apache.jasper.compiler.JspRuntimeContext=ERROR log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%C:%L) - %m%n log4j.appender.logfile=org.apache.log4j.RollingFileAppender log4j.appender.logfile.File=${catalina.base}/logs/pms-app.log log4j.appender.logfile.MaxFileSize=128KB # Keep three backup files. log4j.appender.logfile.MaxBackupIndex=3 # Pattern to output: date priority [category] - message log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=[%p] [%t] {%c} - <%m> %n
/
本文档为【tomcat优化说明书】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索