3TOMCAT配置优化(完整版)

合集下载

Windows server 2003-tomcat-apache-优化 配置

Windows server 2003-tomcat-apache-优化 配置

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生产环境配置优化集合
4.1 第一种配置方法
Linux 服务器:
JAVA_OPTS="-Dfile.encoding=UTF-8 -server -Xms4096m -Xmx4096m -Xmn1024m XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC"
PTS% %DEBUG_OPTS% -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -
Dcatalina.home="%CATALINA_HOME%"
-
Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% >> %C
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javasc ript"
/>
4. 通过启动 startup 命令配置 JVM 参数
配置 TOMCAT_HOME\bin\catalina.sh 文件(windows catalina.bat)
Windows 服务器:
set JAVA_OPTS=-Dfile.encoding=UTF-8 -server -Xms4096m -Xmx4096m -Xmn1024m XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC

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 压缩功能的。

Tomcat 的内存配置及优化

Tomcat 的内存配置及优化

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常用的调优参数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服务器中的性能优化

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配置优化

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常用配置详解和优化方法

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优化配置

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部署优化

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常用的调优参数调优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性能优化参数线上环境使⽤默认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配置优化(完整版)

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终极优化设置

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优化

tomcat优化

开发的网站是否能否承受这个压力,如何确保网站的负荷没有问题,经过研究决定如下:(1)采用负载平衡和集群技术,初步机构采用Apache+Tomcat的机群技术。

(2)采用压力测试工具,测试压力。

工具是Loadrunner。

硬件环境搭建:为了能够进行压力测试,需要搭建一个环境。

刚开始时,测试在公司局域网内进行,但很快发现了一个问题,即一个脚本的压力测试结果每次都不一样,并且差别很大。

原来是受公司网络的影响,于是决定搭建一个完全隔离的局域网测试。

搭建后的局域网配置如下:(1)网络速度:100M(2)三台服务器:负载服务器:操作系统windows2003,Tomcat服务器:操作系统windows2000 Professional数据库服务器:操作系统windows2000 Professional三台机器的cpu 2.4 G, 内存 1G。

软件环境搭建:软件的版本如下:Apache 版本:2.054,Tomcat5.0.30,mysql :4.1.14.JDK1.5压力测试工具:Loadrunner7.8。

负载平衡方案如下:一台机器(操作系统2003)安装apache,作为负载服务器,并安装tomcat 作为一个worker;一个单独安装tomcat,作为第二个worker;剩下的一台单独作为数据库服务器。

Apache和tomcat的负载平衡采用JK1.2.14(没有采用2.0,主要是2.0不再维护了)。

集群方案:采用Tomcat本身的集群方案。

在server.xml配置。

压力测试问题:压力测试后,发现了一些问题,现一一列出来:(1)采用Tocmat集群后,速度变得很慢。

因为集群后,要进行session 复制,导致速度较慢。

Tomcatd的复制,目前不支持application 复制。

复制的作用,主要用来容错的,即一台机器有故障后,apache可以把请求自动转发到另外一个机器。

在容错和速度的考虑上,我们最终选择速度,去掉了Tomcat集群。

tomcat性能调优方案

tomcat性能调优方案

tomcat性能调优方案在开发和部署Web应用程序时,Tomcat是一款广泛使用的Java Servlet容器。

然而,随着业务的增长和用户量的上升,Tomcat性能问题可能会成为一个挑战。

为了确保应用程序的高效运行,我们需要采取一些性能调优措施。

本文将介绍一些Tomcat性能调优方案,以提高应用程序的性能和响应速度。

一、优化Tomcat服务器配置1. 调整内存参数:通过修改Tomcat的启动脚本‘catalina.sh’(Linux)或‘catalina.bat’(Windows),可以配置JVM的内存参数。

可以增加-Xms和-Xmx参数来增加JVM的初始堆大小和最大堆大小。

适当调整这些参数可以提高应用程序的内存管理效率,从而提高性能。

2. 调整连接器配置:Tomcat使用连接器来处理HTTP请求,可以通过调整连接器的配置参数来提高性能。

例如,调整maxThreads参数来增加同时处理请求的线程数,增加acceptCount参数来增加等待处理的请求队列长度,以及调整keepAliveTimeout参数来控制HTTP连接的持久化时间等。

二、优化应用程序代码1. 减少HTTP请求:每次HTTP请求都会消耗系统资源,并且增加网络延迟。

通过优化应用程序代码,减少不必要的HTTP请求可以提高性能。

例如,可以使用CSS sprites来减少图片加载请求,合并和压缩JavaScript和CSS文件来减少文件加载请求等。

2. 使用缓存:合理使用缓存机制可以减少对数据库和其他资源的请求次数,提高应用程序的性能。

例如,可以使用缓存技术来缓存数据库查询结果、页面片段或整个页面,以减少对数据库和服务器的访问次数。

3. 避免同步阻塞:多线程并发请求可能会导致同步阻塞,影响应用程序的性能。

通过合理使用同步机制和锁机制,避免同步阻塞可以提高性能。

例如,使用线程池来管理并发请求的线程,使用并发集合类来替代同步集合类等。

三、数据库优化1. 数据库索引优化:在使用数据库时,合理的索引设计可以大大提高查询性能。

tomcat性能调优

tomcat性能调优

1.连接数调整在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75 acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100 enableLookups:是否反查域名,取值为:true或false。

为了提高处理能力,应设置为fal seconnectionTimeout:网络连接超时,单位:毫秒。

设置为0表示永不超时,这样设置有隐患的。

通常可设置为30000毫秒。

其中和最大连接数相关的参数为maxProcessors和acceptCount。

如果要加大并发连接数,应同时加大这两个参数。

web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。

Unix中如何设置这些参数tomcat中的配置示例,在config/server.xml文件中:port="8080" protocol="HTTP/1.1"maxThreads="1000" minSpareThreads="500" maxSpareThreads="1000"enableLookups="false"redirectPort="8443" acceptCount="1000"debug="0" connectionTimeout="20000"maxProcessors="1000" minProcessors="5"disableUploadTimeout="true"URIEncoding="utf-8"/>2、内存调整Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个ja va虚拟机,可以给Java虚拟机设置使用的内存,但是如果你的选择不对的话,虚拟机不会补偿。

Tomcat性能调优方案

Tomcat性能调优方案

T o m c a t性能调优方案(总6页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March一、操作系统调优对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。

经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。

【适用场景】任何项目。

二、Java虚拟机调优应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。

比性能提高了近10%-20%,比性能提高25%-75%。

因此对性能要求较高的情况推荐使用。

【适用场景】任何项目。

三、Apache集成TomcatWeb服务器专门处理HTTP请求,应用服务器是通过很多协议为应用提供商业逻辑。

虽然Tomcat也可以作web服务器,但其处理静态html的速度比不上Apache,且其作为web服务器的功能远不如Apache,因此把Apache和Tomcat 集成起来,将html和Jsp的功能部分进行明确分工,让Tomcat只处理Jsp部分,其他的由Apache,IIS等web服务器去处理,由此大大提高Tomcat的运行效率。

如果一个项目中大量使用了静态页面、大量的图片等,并有有较大的访问量,推荐使用Apache集成Tomcat的方式来提高系统的整体性能。

Apache和Tomcat的整合有三种方式,分别是JK、http_proxy和ajp_proxy.其中JK方式是最常见的方式,JK本身有两个版本分别是1和2,目前1最新版本是1.2.8,而版本2早已经废弃了。

http_proxy是利用Apache自带的mod_proxy模块使用代理技术来连接Tomcat。

Ajp_proxy连接方式其实跟http_proxy方式一样,都是由mod_proxy所提供的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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',没有则添加这一属性值对。

相关文档
最新文档