3TOMCAT配置优化(完整版)
- 格式:pdf
- 大小:165.43 KB
- 文档页数:6
tomcat 优化设置调增tomcat6响应池、创建高线程的Connector:查找tomcat6安装目录下conf目录中的server.xml文件,进行编辑屏蔽tomcat默认Connector:<!–<Connector port=”8080″protocol=”HTTP/1.1″connectionTimeout=”20000″redirectPort=”8443″/>–>改为:<Executor name="tomcatThreadPool"namePrefix="catalina-exec-"maxThreads="5000" minSpareThreads="1000"maxSpareTheads ="4000"/><Connector port="8080"redirectPort="8443"maxHttpHeaderSize="8192"useBodyEncodingForURI=”true”minProcessors="100"maxProcessors="4000"enableLookups="false" acceptCount="3500"compression="on"compressionMinSize="2048"compressableMimeType="text/html,text/xml,text/javascript,text/css,tex t/plain"connectionTimeout="60000"disableUploadTimeout="true"debug="0" URIEncoding="UTF-8"/>(注:加入响应线程数控制,加入压缩传递模式,调整超时设置,屏蔽调试模式)apache 优化一、使用压缩传递1) 去掉#LoadModule headers_module modules/mod_headers.so前面的注释#2) 添加LoadModule deflate_module modules/mod_deflate.so3) 在VirtualHost中添加<Location "/">SetOutputFilter DEFLATEBrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4\.0[678] no-gzipBrowserMatch \bMSIE !no-gzip !gzip-only-text/htmlSetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-varyHeader append Vary User-Agent env=!dont-vary</Location>一个完整的演示:# 加载deflate模块LoadModule headers_module modules/mod_headers.soLoadModule deflate_module modules/mod_deflate.so<VirtualHost *:80>DocumentRoot f:/apacheTest<Location "/">SetOutputFilter DEFLATEBrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4\.0[678] no-gzipBrowserMatch \bMSIE !no-gzip !gzip-only-text/htmlSetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-varyHeader append Vary User-Agent env=!dont-vary</Location></VirtualHost>二、删除不需要的MPM使用Windows专用的MPM<IfModule mpm_winnt_module>ThreadsPerChild 250MaxRequestsPerChild 0</IfModule>三、关闭日志记录因为我们不经常看它的日志,为提高apache的性能,关闭它。
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 压缩功能的。
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、内存使用配置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设置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/batJAV A_OPTS="$JAV 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 Version5.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的SSI功能(用来支持shtml)将$tomcat_home\server\lib目录下的servlets-ssi.renametojar文件名称改变为servlets-ssi.jar即可.。
变更后,重启tomcat生效。
五、修改网站访问端口为80(如果您的服务器中已经安装其它WEB服务器,即80端口已被占用,请跳过此步)编辑$tomcat_home\conf\server.xml找到下列代码<Connector port="8080"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"enableLookups="false"redirectPort="8443"acceptCount="100"debug="0"connectionTimeout="20000"disableUploadTimeout="true"/></FONT>将其中的port="8080"改为port="80"并保存</FONT>重启tomcat后生效。
六、解决中文乱码问题故障原因:--------------------------------------------------------------------------------Tomcat默认的URL编码为UTF-8,当出现URL传参数出现乱码时,需要指定相关编码为GBK解决办法:--------------------------------------------------------------------------------1、更改tomcat全局配置,并在页面中对中文文件名进行编码修改$tomcat$/conf/server.xml,找到下面的配置段<Connector port="8080"maxThreads="150"minSpareThreads="25"....>找到后,查看是否存在配置属性URIEncoding,如果有,则修改其属性值为URIEncoding='GBK',没有则添加这一属性值对。
</FONT>2、重新启动tomcat。
七、解决中文文件无法正常下载故障原因:--------------------------------------------------------------------------------在tomcat5.0中,当请求一个中文的文件名(软件下载)时,会提示找不到文件路径,出现此类问题,最根本的问题就是文件名(字符串)编码不同,而导致了资源无法找到。
解决办法一:--------------------------------------------------------------------------------更改tomcat全局配置,并在页面中对中文文件名进行编码1、修改$tomcat$/conf/server.xml,找到下面的配置段<Connector port="8080"maxThreads="150"minSpareThreads="25"....>找到后,查看是否存在配置属性URIEncoding,如果有,则修改其属性值为URIEncoding='GBK',没有则添加这一属性值对。