Tomcat性能调优及配置技巧
<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" />
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"
<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" />
<?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>
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
打开 $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_home\server\lib 目录下的 servlets-ssi.renametojar 文件名称改变为 servlets-ssi.jar 即可.。
变更后,重启tomcat生效。
(如果您的服务器中已经安装其它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安装目录下的conf文件夹下的web.xml中,把listings参数设置成false即可,如下:
<servlet>
...
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
...
</servlet>
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即可正常运转。
编辑 tomcat/bin/setenv.sh
设置tomcat的LANG变量为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"