|
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性能参数调优
环境:Windows2003、jdk1.6以上、tomcat6.0以上
设置tomcat的java虚拟机参数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/修改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的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',没有则添加这一属性值对。
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、进入了ServerStatus页面,可以在JVM表格中看到
Free memory: 241.80 MB Total memory: 254.06 MB Max memory:508.06 MB
上面的文字即代表了,当前空闲内存、当前总内存、最大可使用内存三个数据。
确定了最大内存足够大时,tomcat即可正常运转。
十、解决在linux下静态化有些符号出现乱码
编辑 tomcat/bin/setenv.sh
设置tomcat的LANG变量为zh_CN.GBK
采用环境变量查看工具,确定file.encoding变量的值为GBK
setenv.sh 内容示例如下(linuxsuse + tomcat 5.5 + beg jdk 1.5):
#!/bin/sh
#-----------------------------------------------------------------------------
# Set JAVA_HOME andother Java options
#
# $Id: setenv.sh345508 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" |
|
|