设为首页 收藏本站
查看: 580|回复: 0

[经验分享] Tomcat性能调优及配置技巧

[复制链接]

尚未签到

发表于 2017-1-26 07:17:43 | 显示全部楼层 |阅读模式
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
三、解决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
 
设置tomcatLANG变量为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"

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-333439-1-1.html 上篇帖子: tomcat zip版中命令行启动相关设置备忘 下篇帖子: 使用Lambda Probe监控Tomcat
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表