欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

tomcat6 优化初步

发布时间:2025/3/20 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 tomcat6 优化初步 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

必须要配置环境变量 才可以使用 Apache Portable Runtime 技术
http://tomcat.apache.org/download-native.cgi
如果使用的是解压方式的tomcat
则需要自己将tcnative-1.dll拷贝到 %TOMCAT_HOME%\bin 目录下
同时设置环境变量
TOMCAT_HOME C:\tomcat6.0
CATALINA_HOME C:\tomcat6.0
CATALINA_BASE C:\tomcat6.0
PATH %TOMCAT_HOME%\bin
CLASSPATH %CATALINA_HOME%\common\lib\servlet.jar


2 为了提高安全性,一般情况下屏蔽 AJP
注释或者删除server.xml中的 Connector节点

Xml代码  
  • <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />  
  • <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />



    3 内存设置
    Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m
    Linux环境下修改“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头增加如下设置:JAVA_OPTS='-Xms256m -Xmx512m'

    4 HTTP优化配置 server.xml
    仔细看server.xml.其实里面都有,只是默认给注释掉了,下面是参数说明
    name
    这个是线程池的名字,必须唯一,后面会用到
    namePrefix
    线程的名字前缀,用来标记线程名字的,
    maxThreads
    允许的最大线程池里的线程数量,默认是200,一般设置高一些,限制并不占用资源
    minSpareThreads
    最小的保持活跃的线程数量,默认是25
    maxIdleTime
    超过最小活跃线程数量的线程,如果空闲时间超过这个设置后,会被关别。默认是1分钟(60000毫秒)。
    threadPriority
    线程的等级。默认是Thread.NORM_PRIORITY

    Xml代码  
  • <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"   
  •         maxThreads="5000" minSpareThreads="500"/>  
  •       
  • <Connector executor="tomcatThreadPool"  
  •     port="88" protocol="HTTP/1.1"   
  •     connectionTimeout="20000"   
  •     redirectPort="8443" />  
  • <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="5000" minSpareThreads="500"/><Connector executor="tomcatThreadPool"port="88" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />



    5 禁用DNS查询 enableLookups="false"
    当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。
    DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。
    为了消除DNS查询对性能的影响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值

    Xml代码  
  • <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"   
  •         maxThreads="5000" minSpareThreads="500"/>  
  •       
  • <Connector executor="tomcatThreadPool"  
  •     port="88" protocol="HTTP/1.1"   
  •     connectionTimeout="20000"   
  •     enableLookups="false"   
  •     redirectPort="8443" />  
  • <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="5000" minSpareThreads="500"/><Connector executor="tomcatThreadPool"port="88" protocol="HTTP/1.1" connectionTimeout="20000" enableLookups="false" redirectPort="8443" />



    6 设置容器处理代码,解决乱码问题

    Xml代码  
  • <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"   
  •         maxThreads="5000" minSpareThreads="500"/>  
  • <Connector executor="tomcatThreadPool"  
  •     port="88" protocol="HTTP/1.1"   
  •     connectionTimeout="20000"   
  •     URIEncoding="UTF-8"  
  •     useBodyEncodingForURI="true"  
  •     enableLookups="false"   
  •     redirectPort="8443" />  
  • <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="5000" minSpareThreads="500"/> <Connector executor="tomcatThreadPool"port="88" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8"useBodyEncodingForURI="true"enableLookups="false" redirectPort="8443" />



    7 自动加载 修改conf/context.xml

    Xml代码  
  • <Context reloadable="true">  
  • <Context reloadable="true">



    8 Tomcat配置服务器

    Xml代码  
  • <Context path="/text" docBase="f:\text\11" debug="0" reloadable="true"/>  
  • <Context path="/text" docBase="f:\text\11" debug="0" reloadable="true"/>



    9 自定义部署目录,在Engine节点添加

    Xml代码  
  • <Host name="www.huadepengye.com" appBase="D:\Myweb" unpackWARs="true" autoDeploy="true">    
  •     <Context path="" docBase="D:\Myweb\HDPYWeb"/>    
  • </Host>  
  • 转载于:https://www.cnblogs.com/zhouwenwu/archive/2011/12/30/2307586.html

    与50位技术专家面对面20年技术见证,附赠技术全景图

    总结

    以上是生活随笔为你收集整理的tomcat6 优化初步的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。