Tomcat性能调优及配置技巧

 

Tomcat性能调优及配置技巧

 

一、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性能参数调优

环境:Windows2003jdk1.6以上、tomcat6.0以上

设置tomcatjava虚拟机参数catalina.sh/bat

JAVA_OPTS="$JAVA_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>

 

<Resource

            name="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/修改windowstcpip参数

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

三、解决rarexcel格式文件在下载时直接以乱码打开

打开 $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生效。

四、开启tomcatSSI功能(用来支持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',没有则添加这一属性值对。

 

2、重新启动tomcat,再次尝试下载中文文件,发现可以正常下载中文文件名。

 

解决办法 二:

--------------------------------------------------------------------------------

1、仅按照方法一中第1步,不同的是,这里把 URIEncoding='GBK' 改为 URIEncoding='UTF-8' ,保存后,重启tomcat即可实现中文文件名的下载

八、不让tomcat列出某目录下的文件

你可以在tomcat安装目录下的conf文件夹下的web.xml中,把listings参数设置成false即可,如下:

 

<servlet>

...

<init-param>

<param-name>listings</param-name>

<param-value>false</param-value>

</init-param>

...

</servlet>

九、查看现有tomcat的内存大小情况

1、启动tomcat

2、访问 http://localhost:8080/manager/status ,并输入您在安装tomcat时输入的用户与口令,如 admin ,密码 cms4j (密码是您在tomcat安装时输入的)

3、进入了Server Status页面,可以在JVM表格中看到

Free memory: 241.80 MB Total memory: 254.06 MB Max memory: 508.06 MB

上面的文字即代表了,当前空闲内存、当前总内存、最大可使用内存三个数据。

确定了最大内存足够大时,tomcat即可正常运转。

十、解决在linux下静态化有些符号出现乱码

编辑 tomcat/bin/setenv.sh

 

设置tomcatLANG变量为zh_CN.GBK

 

采用环境变量查看工具,确定file.encoding变量的值为GBK

 

setenv.sh 内容示例如下(linux suse + tomcat 5.5 + beg jdk 1.5)

 

#!/bin/sh

# -----------------------------------------------------------------------------

#  Set JAVA_HOME and other Java options

#

#  $Id: setenv.sh 345508 2007-07-03 Chris $

# -----------------------------------------------------------------------------

JAVA_HOME=/usr/local/bea-jdk1.5

LANG=zh_CN.GBK

 

如果是 redhat

尽量将linux系统字体与JSP网页设定字体一致。如果如果JSP系统是GBK

vi /etc/sysconfig/i18n ,内容(linux下环境变量的分隔符是冒号)

 

LANG="zh_CN.GBK"

 

SUPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_CN.gbk:en_US.UTF-8:en_US:en:zh_CN.gb2312:zh_CN.GBK"

 

SYSFONT="latarcyrheb-sun16"

你可能感兴趣的:(tomcat)