TOMCAT的参数优化配置
- 格式:docx
- 大小:14.65 KB
- 文档页数:1
Tomcat性能调优方案一、操作系统调优对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高cpu的频率,保证文件系统的读写速率等。
经过压力测试验证,在并发连接很多的情况下,cpu的处理能力越强,系统运行速度越快。
【适用场景】任何项目。
二、java虚拟机调优必须挑选sun的jvm,在满足用户项目须要的前提下,尽量采用版本较低的jvm,一般来说低版本产品在速度和效率上比低版本可以存有改良。
jdk1.4比jdk1.3性能提升将近10%-20%,jdk1.5比jdk1.4性能提升25%-75%。
因此对性能建议较低的情况所推荐采用jdk1.6。
【适用于场景】任何项目。
三、apache内置tomcat如果一个项目中大量使用了静态页面、大量的图片等,并有有较大的访问量,推荐使用apache集成tomcat的方式来提高系统的整体性能。
相对于jk的相连接方式,后两种在布局上比较简单的,灵活性方面也一点都不逊色。
但就稳定性而言不像是jk这样久经考验,所以建议使用jk的相连接方式。
apache+jk+tomcat布局:1.安装apache服务器2.部署tomcat【适用于场景】大量采用静态页面的应用领域系统。
四、apache和tomcat集群方式,这种方式比较灵活,成本相对比较低,另外一个很大的优点就是可以根据应用情况和服务器的情况做一些灵活的配置。
所以推荐使用apache+tomcat集群来实现负载均衡。
使用tomcat集群可以最小程度的充分发挥服务器的性能,可以在布局较低的服务器上部署多个tomcat,也可以在多台服务器上分别部署tomcat,apache和tomcat资源整合的方式还是jk方式。
经过检验,系统对小用户量采用的积极响应方面,apache+3tomccat集群>apache+2tomcat集群>apache内置tomcat>单个tomcat。
并且使用apache+多tomcat集群的部署方式时,如果一个tomcat发生宕机,系统可以稳步采用,所以在硬件系统性能足够多得天独厚的情况下,须要尽量充分发挥软件的性能,可以使用减少tomcat 集群的方式。
Tomcat的常用设置及优化当我们公司使用tomcat作为web应用服务器的规模越来越大,为保证T omcat配置安全,防止信息泄露,恶意攻击以及配置的安全规范,特制定此T omcat安全配置规范。
1|1Tomcat用户设置useradd -d /tomcat -u 501 tomcatecho "123" |passwd --stdin tomcatsu - tomcatid tomcat# uid=501(tomcat) gid=1000(tomcat) groups=1000(tomcat) pwd# /tomcat1|2Tomcat配置wgethttps:///apache/tomcat/tomcat-8/v8.5.55/bin/apache-tomcat-8.5.55.tar.gztail -5 .bash_profileJAVA_HOME=/usr/local/jdkexport PATH=$JAVA_HOME/bin:$PATHexportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export CATALINA_HOME=/usr/local/tomcat1|3应用程序配置mkdir webappstar xvf apache-tomcat-8.5.55.tar.gz -C /tomcat/webapps//tomcat/webapps/apache-tomcat-8.5.55/bin/startup.sh2|0安全设置规范2|1telnet管理端口保护(强制)2|2ajp链接端口保护(推荐)2|3禁用管理端(强制)tomcat/webapps/*tomcat/conf/tomcat-user.xml 2|4降权启动(强制)2|5文件列表访问控制(强制)2|6版本信息隐藏(强制)2|7Server header重写(推荐)2|8访问限制(可选)2|9起停脚本权限回收(推荐)chmod 744–R tomcat/bin/* 2|10访问日志格式规范(推荐)2|11屏蔽DNS查询enableLookups: 调用request,getRemoteHost()执行DNS查询,以返回远程主机的主机名,如果设置为false,<Connector enableLookups="false"/>2|12压缩管理tomcat作为一个应用服务器,也是支持gzip 压缩功能的。
TomcatJVM如何参数性能迅速调到最优
找到Tomcat根名目下的conf名目,修改server.xml文件的内容。
对于这部分的调优,我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomcat初始化时创建的线程数的设置,固然还有其他一些性能调优的设置,下图是我按照我机子的性能设置的一些参数值,给各位具体说明一下吧:
1、URIEncoding=UTF-8:设置Tomcat的字符集。
这种配置我们普通是
不会设置的,由于关于乱码的转换我们会在详细项目中详细处理,挺直修改Tomcat的字符集未免过于太死板。
2、maxThreads=300:设置当前Tomcat的最大并发数。
Tomcat默认配
置的最大哀求数是150个,即同时能支持150个并发。
但是在实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的,更好的硬件、更高的处理器都会使Tomcat支持更多的并发数。
假如普通在实际开发中,当某个应用拥有 250 个以上并发的时候,都会考虑到应用服务器的集群。
3、minSpareThreads=50:设置当前Tomcat初始化时创建的线程数,默认值为25。
4、acceptCount=250:当同时衔接的人数达到maxThreads参数设置的值时,还可以接收排队的衔接数量,超过这个衔接的则挺直返回否决衔接。
指定当任何能够用法的处理哀求的线程数都被用法时,能够放处处理队列中的哀求数,超过这个数的哀求将不予处理。
默认值为100。
在实际应用中,假如想加大Tomcat的并发数,应当同时加大acceptCount和maxThreads的值。
第1页共6页。
Tomcat 的内存配置及优化Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java 虚拟机。
你能选择自己的需要选择不同的操作系统和对应的JDK的版本(只要是符合Sun 发布的Java规范的),但我们推荐你使用Sun公司发布的JDK。
确保你所使用的版本是最新的,因为Sun公司和其他一些公司一直在为提高性能而对java虚拟机做一些升级改进。
一些报告显示JDK1.4在性能上比JDK1.3提高了将近10%到20%。
能给Java虚拟机设置使用的内存,不过如果你的选择不对的话,虚拟机不会补偿。
可通过命令行的方式改动虚拟机使用内存的大小。
如下表所示有两个参数用来设置虚拟机使用内存的大小。
参数描述-XmsJVM初始化堆的大小-XmxJVM堆的最大值这两个值的大小一般根据需要进行设置。
初始化堆的大小执行了虚拟机在启动时向系统申请的内存的大小。
一般而言,这个参数不重要。
不过有的应用程式在大负载的情况下会急剧地占用更多的内存,此时这个参数就是显得非常重要,如果虚拟机启动时设置使用的内存比较小而在这种情况下有许多对象进行初始化,虚拟机就必须重复地增加内存来满足使用。
由于这种原因,我们一般把-Xms和-Xmx设为相同大,而堆的最大值受限于系统使用的物理内存。
一般使用数据量较大的应用程式会使用持久对象,内存使用有可能迅速地增长。
当应用程式需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。
因此一般建议堆的最大值设置为可用内存的最大值的80%。
Tomcat默认能使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。
视窗系统下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:JAVA_OPTS=’-Xms【初始化内存大小】-Xmx【能使用的最大内存】’需要把这个两个参数值调大。
例如:JAVA_OPTS=’-Xms256m -Xmx512m’表示初始化内存为256MB,能使用的最大内存为512MB。
tomcat常用的调优参数Tomcat常用的调优参数Tomcat是一个开源的Java Servlet容器,广泛应用于Java Web 应用程序的部署和运行。
为了提高Tomcat的性能和稳定性,我们可以通过调优参数来优化其配置。
本文将介绍一些常用的Tomcat 调优参数,帮助您更好地配置和优化T omcat服务器。
1. 内存设置- -Xms: 设置JVM的初始堆大小,建议设置为物理内存的1/4或1/3。
- -Xmx: 设置JVM的最大堆大小,建议设置为物理内存的1/2或2/3。
- -XX:MaxPermSize: 设置JVM的永久代大小,建议设置为256MB或512MB。
- -XX:MaxMetaspaceSize: 设置JVM的元空间大小,建议设置为256MB或512MB。
2. 线程设置- maxThreads: 设置Tomcat的最大线程数,建议根据服务器的硬件配置和并发请求数进行调整。
- acceptCount: 设置Tomcat接受请求的队列大小,建议设置为200或300。
- connectionTimeout: 设置Tomcat的连接超时时间,建议设置为30秒或60秒。
3. 连接器设置- protocol: 设置连接器的协议,常用的有HTTP/1.1和AJP/1.3。
- port: 设置连接器的监听端口,建议使用80端口作为HTTP连接器的默认端口。
- maxKeepAliveRequests: 设置每个Keep-Alive连接的最大请求数,建议设置为100或200。
- keepAliveTimeout: 设置Keep-Alive连接的超时时间,建议设置为5秒或10秒。
4. 缓存设置- cacheSize: 设置Tomcat的静态文件缓存大小,建议根据静态文件的数量和大小进行调整。
- cacheTTL: 设置静态文件缓存的过期时间,建议设置为1小时或更长。
- cacheObjectMaxSize: 设置缓存对象的最大大小,建议根据缓存对象的平均大小进行调整。
TOMCAT服务器中的性能优化Tomcat是一款开源的Java Servlet容器,广泛应用于企业级Web应用程序的开发和运行。
由于其使用方便、可灵活配置的优点,被越来越多的开发者所喜爱,并成为了Java Web开发的重要组成部分。
然而,Tomcat服务器在高并发的情况下可能会出现性能问题,影响Web应用程序的正常运行。
因此,本文将介绍Tomcat服务器中的性能优化方法,帮助开发者更好地优化自己的Web应用程序。
一、Tomcat的架构在进行Tomcat服务器的性能优化前,我们需要了解其架构。
Tomcat服务器的架构主要包括以下几个组件:1. Servlet容器:负责处理HTTP请求和响应,并将它们转发给相应的Servlet。
2. 连接器:负责与客户端建立TCP连接、处理协议和编解码等任务。
3. Engine:Tomcat服务器的核心组件,负责管理虚拟主机、容器和线程池等资源。
4. Host:虚拟主机,负责处理来自特定主机的请求,并将请求转发给相应的Context。
5. Context:Web应用程序的执行环境,包括Servlet、JSP和静态文件等资源。
6. Valve:过滤器,可以拦截请求和响应,并在它们到达目的地之前对它们进行处理。
了解Tomcat服务器的架构有助于我们更好地理解性能优化的方法和原理。
二、基础优化在进行高级优化前,我们需要进行一些基础优化,以确保Tomcat服务器的最大性能。
1. 使用最新版本的Java和Tomcat:Java的性能和稳定性在不断提高,因此使用最新版本的Java和Tomcat可以提高服务器的性能和稳定性。
2. 调整Tomcat配置参数:Tomcat服务器的性能受到其配置参数的影响,因此调整Tomcat的配置参数可以提高服务器的性能。
可以通过更改server.xml文件来修改Tomcat参数。
调整参数时需要注意保持平衡,避免调整一个参数而使其他参数受到负面影响。
Tomcat配置优化⼀、tomcat内存优化打开bin下catalina.bat⽂件在⽂件的第⼀处⾮注释⾏出添加1 set JAVA_OPTS=-server -Xms2g -Xmx2g -Xss256k参数含义:-server:以server模式运⾏java程序-Xms:初始化堆内存⼤⼩-Xmx:堆内存最⼤容量-Xss:设定每个线程的堆栈⼤⼩ JDK9之前ParallelGC作为默认垃圾回收器,优化配置JVM需要设置⼤量参数,诸如-XX:NewRatio、-XX:SurvivorRatio等等,但随着JDK不断更迭,繁琐的参数已经不再需要且不再⽀持。
JDK9开始,G1作为默认的垃圾回收器,G1GC 不必明确设置新⽣代⼤⼩,其⾃动调优也⼗分可靠,对于停顿时间往往在长时间运⾏后可以达到预期效果。
不建议进⾏过多的配置。
⼆、tomcat线程池优化打开conf下server.xml全局搜索executor,在注释中可以找到,同节点位置添加:1<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" deamon="true"2 minSpareThreads="100" maxSpareThreads="300" maxThreads="600"3maxQueueSize="1000000" maxIdleTime="60000"4 prestartminSpareThreads="true"/>然后搜索Connector,找到tomcat的http连接器,添加连接器与线程池关联1<Connector port="8080" protocol="HTTP/1.1"2 connectionTimeout="20000"3 redirectPort="8443"4 executor="tomcatThreadPool"/>参数含义:namePrefix:线程池中线程的命名前缀。
tomcat常⽤配置详解和优化⽅法tomcat常⽤配置详解和优化⽅法参考:/zj52hm/article/details/51980194/wuliu_forever/article/details/52607177https:///dengyungao/p/7542604.htmlhttps:///ysocean/p/6893446.html#_label1常⽤配置详解1 ⽬录结构/bin:脚本⽂件⽬录。
/common/lib:存放所有web项⽬都可以访问的公共jar包(使⽤Common类加载器加载)。
/conf:存放配置⽂件,最重要的是server.xml。
/logs:存放⽇志⽂件。
/server/webapps:来管理Tomcat-web服务⽤的。
仅对TOMCAT可见,对所有的WEB APP都不可见(使⽤Catalina类加载器加载)。
/shared/lib:仅对所有WEB APP可见,对TOMCAT不可见(使⽤Shared类加载器加载)。
/temp:Tomcat运⾏时候存放临时⽂件⽤的。
/webapps:web应⽤发布⽬录。
/work:Tomcat把各种由jsp⽣成的servlet⽂件放在这个⽬录下。
删除后,启动时会⾃动创建。
2 配置⽂件server.xml:主要的配置⽂件。
web.xml:缺省的web app配置,WEB-INF/web.xml会覆盖该配置。
context.xml:不清楚跟server.xml⾥⾯的context是否有关系。
server.xml配置server标签port:指定⼀个端⼝,这个端⼝负责监听关闭tomcat的请求。
shutdown:指定向端⼝发送的命令字符串。
service标签name:指定service的名字。
Connector(表⽰客户端和service之间的连接)标签port:指定服务器端要创建的端⼝号,并在这个端⼝监听来⾃客户端的请求。
minProcessors:服务器启动时创建的处理请求的线程数。
Tomcat优化配置一.Tomcat内存优化T omcat内存优化主要是对tomcat启动参数优化,我们可以在tomcat的启动脚本catalina.sh中设置JAVA_OPTS参数。
1.JAVA_OPTS参数说明Java代码1.-server 启用jdk 的 server 版;2.-Xms java虚拟机初始化时的最小内存;3.-Xmx java虚拟机可使用的最大内存;4.-XX:PermSize 内存永久保留区域5.-XX:MaxPermSize 内存最大永久保留区域服务器参数配置现公司服务器内存一般都可以加到最大2G,所以可以采取以下配置:Java代码1.JAVA_OPTS='-Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'配置完成后可重启T omcat,通过以下命令进行查看配置是否生效:1. 首先查看Tomcat进程号:Xml代码1.sudo lsof -i:9027我们可以看到Tomcat进程号是12222。
1. 查看是否配置生效:Xml代码1.sudo jmap – heap 12222我们可以看到MaxHeapSize等参数已经生效。
、二.T omcat并发优化1.Tomcat连接相关参数在Tomcat配置文件server.xml中的配置中1.参数说明minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75 acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100 enableLookups:是否反查域名,取值为:true或false。
为了提高处理能力,应设置为false connectionTimeout:网络连接超时,单位:毫秒。
tomcat参数调优1、查看linux服务器环境,cpu数,内存数-bash-4.2$ cat /proc/cpuinfo |grep processorprocessor : 0processor : 1processor : 2processor : 3processor : 4processor : 5processor : 6processor : 7-bash-4.2$ cat /proc/meminfo | grep MemTotalMemTotal: 32948192 kB2、设置tomcat启动参数参数说明:-servertomcat默认是以⼀种叫java –client的模式来运⾏的,server即意味着你的tomcat是以真实的production的模式在运⾏的,这也就意味着你的tomcat以 server模式运⾏时将拥有:更⼤、更⾼的并发处理能⼒,更快更强捷的JVM垃圾回收机制,可以获得-Xms–Xmx即JVM内存设置了,把Xms与Xmx两个值设成⼀样是最优的做法。
如何知道我的JVM能够使⽤最⼤值?在设这个最⼤内存即Xmx值时请先打开⼀个命令⾏,键⼊如下的命令:qiaohongdeMacBook-Pro:bin hong$ java -Xmx3500m -versionjava version "1.8.0_131"Java(TM) SE Runtime Environment (build 1.8.0_131-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)看,能够正常显⽰JDK的版本信息,说明,这个值你能够⽤。
由于我系统是64位的,没有内存限制,32位最⼤只能⽤2g内存(理论值)。
–Xmn设置年轻代⼤⼩为512m。
整个堆⼤⼩=年轻代⼤⼩ + 年⽼代⼤⼩ + 持久代⼤⼩。
tomcat 调优总结1.增加内存:可以通过修改Tomcat的启动参数来增加JVM的内存限制,从而提高Tomcat的性能。
例如:将-Xms和-Xmx修改为较大的值,如-Xms1024m和-Xmx2048m。
2. 调整线程池:Tomcat默认使用的线程池为org.apache.tomcat.util.threads.ThreadPoolExecutor,可以根据实际情况来调整线程池的大小,以提高Tomcat的并发处理能力。
3. 使用NIO:Tomcat 7及以上版本支持使用Java NIO来提高网络I/O性能。
可以通过修改server.xml文件中的Connector配置来启用NIO。
4. 压缩响应数据:对于一些需要传输大量数据的请求(如文件下载),可以启用Tomcat的压缩功能,减少数据传输量,从而提高响应速度。
5. 避免频繁GC:可以通过调整JVM的垃圾回收策略来减少频繁的GC操作,从而提高Tomcat的性能。
例如:将JVM的垃圾回收算法修改为G1。
6. 启用HTTP/2:Tomcat 9及以上版本支持使用HTTP/2协议来提高网络传输效率。
可以通过修改server.xml文件中的Connector 配置来启用HTTP/2。
7. 使用静态资源缓存:对于一些静态资源(如图片、JS、CSS 等),可以启用Tomcat的缓存功能,减少频繁的网络请求,从而提高响应速度。
8. 减少Session使用:Session的使用会占用服务器的资源,导致Tomcat的性能下降。
可以减少Session的使用,或者使用分布式Session来减轻服务器的压力。
9. 使用反向代理:将Tomcat作为反向代理服务器,可以将一些静态资源直接转发到其他服务器上,减少Tomcat的负载,提高性能。
10. 使用CDN加速:使用CDN可以将一些静态资源缓存到CDN 节点上,从而减少服务器的负载,提高Tomcat的性能。
Tomcat的优化1、内存使用配置Tomcat是依赖于JVM的,所以Tomcat的使用内存配置实质上是JVM的内存配置在/bin目录下的catalina.bat可以直接通过Tomcat设置JVM内存参数,windows下打开catalina.bat文件,在大概中间的位置,找到set "JAVA_OPTS=%JAVA_OPT% -server -Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -Djava.awt.headless=true"通过内存设置充分利用服务器内存-server:模式启动应用慢,但是极大程度提高运行性能-Xms2048m -Xmx2048m:设置的是堆内存java8开始,PermSize被MetaspaceSize代替,MetaspaceSize共享heap,不会再有ng.OutOfMemoryError:PermGen space,可以不设置Headless=true:适用于Linux系统,与图形操作有关,如生成验证码含义是当前的是无显示器的服务器,应用中如果获取系统显示有关的参数会抛出异常,windows系统可不用设置可通过jmap -heap process_id查看设置是否成功2、最大连接数配置(并发能力)在/conf/server.xml里进行配置在<Connector>属性中将protocol属性改为"org.apache.coyote.http11.Http11NioProtocol",NIO模型的效率更高加入maxThreads="500" //当前可以同时处理的最大用户访问数minSpareThreads="100" //最小空闲线程连接数,用于优化线程池maxSpareThreads="200"acceptCount="200" //当所有的线程以分配,仍然允许连接进来,但是出于等待状态的用户数。
tomcat常用的调优参数调优Tomcat 的性能可以通过调整一些参数来提升其运行效率和吞吐量。
以下是一些常用的Tomcat 调优参数:1. 内存设置:- `-Xms`:设置JVM 初始堆内存大小。
- `-Xmx`:设置JVM 最大堆内存大小。
-`-XX:MaxPermSize`(适用于Java 7 之前的版本):设置JVM 持久代(PermGen)的最大大小。
2. 线程池设置:- `maxThreads`:在`<Connector>` 元素中设置最大线程数。
- `acceptCount`:在`<Connector>` 元素中设置等待队列的最大大小。
3. 垃圾回收(GC)设置:- `-XX:+UseConcMarkSweepGC`:使用并发标记清除(CMS)垃圾收集器。
- `-XX:+CMSParallelRemarkEnabled`:启用CMS 垃圾收集器的并行标记阶段。
- `-XX:+UseParNewGC`:使用ParNew 垃圾收集器与CMS 进行协作。
4. 连接器设置:- `connectionTimeout`:在`<Connector>` 元素中设置连接超时时间。
- `keepAliveTimeout`:在`<Connector>` 元素中设置Keep-Alive 连接的超时时间。
5. 静态资源缓存:- `<Context>` 元素中的`cachingAllowed` 和`cacheMaxSize`:启用静态资源缓存,并设置最大缓存大小。
6. 请求处理:-`<Connector>` 元素中的`maxKeepAliveRequests`:设置每个Keep-Alive 连接允许的最大请求数量。
以上只是一些常见的调优参数示例,具体的参数设置和效果可能取决于你的应用程序和环境。
建议在调优前备份配置文件,并根据具体的需求和实际情况进行调整。
tomcat性能优化参数线上环境使⽤默认tomcat配置⽂件,性能很⼀般,为了满⾜⼤量⽤户的访问,需要对tomcat进⾏参数性能优化,具体优化的地⽅如下:Linux内核的优化服务器资源JVM 配置的优化Tomcat参数优化Tomcat配置连接器配置负载集群优化这⾥着重讲解tomcat参数的优化:server.xml⽂件,关闭DNS查询、配置最⼤并发等参数。
maxThreads:tomcat起动的最⼤线程数,即同时处理的任务个数,默认值为200acceptCount:当tomcat起动的线程数达到最⼤时,接受排队的请求个数,默认值为100当然这些值都不是越⼤越好,需要根据实际情况来设定。
可以基于测试的基础上来不断的调优分析。
1,vim /usr/local/tomcat/conf/server.xml 优化http 8080访问端⼝段加⼊以下优化,再把默认的删掉真实企业也是⼀下的参数不变<Connector port="8080"protocol="org.apache.coyote.http11.Http11NioProtocol"connectionTimeout="20000"redirectPort="8443"maxThreads="5000"minSpareThreads="20"acceptCount="1000"disableUploadTimeout="true"enableLookups="false"URIEncoding="UTF-8" />2,Catalina.sh JVM 参数优化,java系统内存优化,根据⾃⼰虚拟机得内存来优化⼀下XmsXmx Xmn的参数这⾥配置的内存不要太⼤⼀般位置系统内存的3/1 真实企业系统内存最低要留2个G 其中Xmn为Xmx内存的4/1如果不配置优化jvm tomcat默认是502参数添加位置如下:其中参数⼀般有开发⼈员来配置算出最优值添加如下内容:vim /usr/local/tomcat/bin/ catalina.shCATALINA_OPTS="$CATALINA_OPTS –Xms1024M –Xmx1024M –Xmn512M -XX:SurvivorRatio=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=82 -DLOCALE=UTF-16LE -DRAMDISK=/ -DUSE_RAM_DISK=ture -DRAM_DISK=true3,优化server.conf配置⽂件<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" //最⼤并发数,默认设置 200,⼀般建议在 500 ~ 800,根据硬件设施和业务来判断minSpareThreads="100" //Tomcat 初始化时创建的线程数,默认设置 25prestartminSpareThreads = "true"//在 Tomcat 初始化的时候就初始化 minSpareThreads 的参数值,如果不等于 true,minSpareThreads 的值就⽆效maxQueueSize = "100"//最⼤的等待队列数,超过则拒绝请求 /><Connector executor="tomcatThreadPool" port="8080"protocol="org.apache.coyote.http11.Http11Nio2Protocol" //Tomcat 8 设置 nio2 更好,Tomcat 6 、7设置nio更好:org.apache.coyote.http11.Http11NioProtocolconnectionTimeout="20000"minSpareThreads="100" maxSpareThreads="1000"最⼤处理连接数线程minProcessors="100“同时处理请求的最⼩数maxProcessors=“1000”同时处理请求的最⼤数maxConnections="1000" redirectPort="8443"enableLookups="false" //禁⽤DNS查询 acceptCount="100" //指定当所有可以使⽤的处理请求的线程数都被使⽤时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认设置 100maxPostSize="10485760" //以 FORM URL 参数⽅式的 POST 提交⽅式,限制提交最⼤的⼤⼩,默认是2097152(2兆),它使⽤的单位是字节。
Tomcat性能调优及配置技巧一、Tomcat设置Gzip,减少网络流量 (2)二、TOMCAT性能参数调优 (2)环境:Windows2003、jdk1.6以上、tomcat6.0以上 (2)设置tomcat的java虚拟机参数catalina.sh/bat (2)设置tomcat服务器参数server.xml设置socket、线程、压缩传输参数 (2)设置tomcat数据库连接池参数context.xml设置数据库连接池 (2)设置操作系统tcpip参数,regedit/修改windows的tcpip参数 (3)三、解决rar、excel格式文件在下载时直接以乱码打开 (3)四、开启tomcat的SSI功能(用来支持shtml) (4)五、修改网站访问端口为80 (4)六、解决中文乱码问题 (4)七、解决中文文件无法正常下载 (4)八、不让tomcat列出某目录下的文件 (5)九、查看现有tomcat的内存大小情况 (5)十、解决在linux下静态化有些符号出现乱码 (6)不让tomcat列出某目录下的文件FusionCharts用法详解..................... 错误!未定义书签。
一、Tomcat设置Gzip,减少网络流量<Connector port="8080" protocol="HTTP/1.1" acceptCount="100" maxThreads="500" minSpareThreads="25" maxSpareThreads="75" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"connectionTimeout="20000"redirectPort="8443" />二、TOMCAT性能参数调优环境:Windows2003、jdk1.6以上、tomcat6.0以上设置tomcat的java虚拟机参数catalina.sh/batJA V A_OPTS="$JA V A_OPTS -server -Xms512m -XX:NewSize=256M -XX:MaxNewSize=512M -XX:MaxPermSize=128m -Xrs -Xss128k -Xloggc:gc.txt -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:-HeapDumpOnOutOfMemoryError"设置tomcat服务器参数server.xml设置socket、线程、压缩传输参数<Connector port="8080" protocol="HTTP/1.1" acceptCount="100" maxThreads="500" minSpareThreads="25" maxSpareThreads="75" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"connectionTimeout="20000"redirectPort="8443" />设置tomcat数据库连接池参数context.xml设置数据库连接池<?xml version='1.0' encoding='utf-8'?><Context><Resourcename="jdbc/b2b"type="javax.sql.DataSource"auth="Container"url="jdbc:oracle:thin:@localhost:1521:b2b"driverClassName="oracle.jdbc.driver.OracleDriver"username="b2b"password="b2b "maxActive="150"maxIdle="30"maxWait="5000"/></Context>设置操作系统tcpip参数,regedit/修改windows的tcpip参数Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "Tcp1323Opts"=dword:00000003"TcpWindowSize"=dword:0003e640"TcpTimedWaitDelay"=dword:0000001e"TcpNumConnections"=dword:00002710"MaxUserPort"=dword:0000ffff三、解决rar、excel格式文件在下载时直接以乱码打开打开$tomcat_home\conf 目录下的WEB.XML文件找到<mime-mapping> 配置位置,并添加以下配置:<mime-mapping><extension>rar</extension><mime-type>application/octet-stream</mime-type></mime-mapping><mime-mapping><extension>xls</extension><mime-type>application/octet-stream</mime-type></mime-mapping><mime-mapping><extension>txt</extension><mime-type>application/octet-stream</mime-type></mime-mapping>新增后,保存,并重启tomcat生效。
Tomcat终极优化设置一..修改jvm为server版在命令行java -version 可以看到jvm配置的是哪个版本。
编辑%JA V A_HOME%\jre\lib\i386\jvm.cfg ,把第二行的-server KNOWN 放到第一行二、调整参数修改server.xml1.maxThreads 可创建的最大的线程数。
acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
connnectionTimeout 网络连接超时,单位:毫秒。
设置为0表示永不超时,这样设置有隐患的。
通常可设置为30000毫秒。
minSpareThreads 初始化时创建的最小空闲线程数。
maxSpareThreads 最大空闲连接线程数,即并发处理的最大请求数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
2. 禁用反查域名功能enableLookups是否反查域名,取值为:true或false。
为了提高处理能力,应设置为false3.启用支持gzip压缩. 添加下列属性compression="on"compressionMinSize="2048"noCompressionUserAgents="gozilla, traviata"compressableMimeType="text/html,text/xml"4.虚拟目录的相关设置(运行服务器)set reloadable to false (dev use only); set liveDeploy to false (ditto); set debug to 0; set swallowOutput to true.修改后的示例:<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="200" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml" /><Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="GBK"/><Host appBase="C:/aaaa" autoDeploy="true" debug="0" deployXML="true" liveDeploy="false" name="" unpackWARs="true"><Context cachingAllowed="true" cookies="true" crossContext="true" debug="0"docBase="C:/aaa/bbb" path="" privileged="false" reloadable="false" swallowOutput="false" useNaming="true" ></Context></Host>三、调整jvm可以支持的最大内存1.windows平台设置系统环境变量:JAVA_OPTS=-server -Xms256M -Xmx512M或在catalina.bat中加入了一行:set JAVA_OPTS=-server -Xms256M -Xmx512M大小根据设置为可用内存的80%左右如果是作为服务运行,可以在java options选项里添加-server -Xms256M -Xmx512M 2.linux平台在文件{tomcat_home}/bin/catalina.sh的前面,增加如下设置:JAVA_OPTS=-server –Xms256m –Xmx512m四,常遇到的一些简单问题的解决方法:1.如何禁止访问目录列表:修改tomcat x.x/conf/web.xml内的一个属性值,就是把true 改为false在web.xml里找到以下代码<servlet><servlet-name>default</servlet-name><servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>listings</param-name><param-value>true</param-value></init-param><load-on-startup>1</load-on-startup></servlet>把其中的<init-param><param-name>listings</param-name><param-value>true</param-value></init-param>改为<init-param><param-name>listings</param-name><param-value>false</param-value></init-param>添加如下红色字体代码<servlet><servlet-name>jsp</servlet-name><servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class><init-param><param-name>fork</param-name><param-value>false</param-value></init-param><init-param><param-name>xpoweredBy</param-name><param-value>false</param-value></init-param><init-param><param-name>development</param-name><param-value>false</param-value></init-param><init-param><param-name>reloading</param-name><param-value>false</param-name></init-param><load-on-startup>3</load-on-startup></servlet>2.如果某文件资源没有找到,服务器要报404错误,如果执行的某个JSP文件产生NullPointException 会显示一些不想异常提示代码, 为了让用户看到更更友好的页面,可在自己的虚拟目录的WEB-INF/web.xml中作如下的设置<error-page><error-code>404</error-code><location>/notFileFound.jsp</location></error-page><error-page><exception-type>ng.NullPointerException</exception-type><location>/null.jsp</location></error-page>同理,你也可以设置抛出其它异常时应该显示的页面!另外在jsp页面最上方加上这样一句话,<%@ page isErrorPage="true" errorPage="error.jsp"%>也可以捕捉NullPointerException这种异常,此时转向error.jsp3.设置session的超时时间(单位:分钟)<session-config><session-timeout>30</session-timeout></session-config>4.设置默认欢迎页面(当不输入文件名,只输入目录时起作用)<welcome-file-list><welcome-file>index.jsp</welcome-file><welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> </welcome-file-list>来源: 咸宁信息网。
TOMCAT的参数优化配置
1、tomcat的热部署参数:
-Dcom.sun.management.jmxremote=true
2、1G内存环境下java jvm 的参数设置参考:给出1G内存环境下java jvm 的参数设置参考:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true"
3、请求参数的优化配置:
<Connector port="8080" protocol="HTTP/1.1"
maxParameterCount="-1"
maxPostSize="0"
connectionTimeout="20000"
redirectPort="8440" />
maxParameterCount="-1" --请求中允许传递的最大个数,默认值为10000,"-1"表示无限制;
maxPostSize="0" --http-post请求中数据(body)的最大尺寸单位:byte;默认值为2M, 0代表不限制;
注意:<formenctype="multipart/form-data">有文件上传使用 enctype="multipart/form-data" 时;提交参数的Content-Type = application/octet-stream;
maxParameterCount="-1" maxPostSize="0" 配置后无效。