设为首页收藏本站

数码鹭岛论坛

 找回密码
 注-册

QQ登录

只需一步,快速开始

搜索
查看: 3095|回复: 0
打印 上一主题 下一主题

Tomcat配置优化

[复制链接]
跳转到指定楼层
1#
发表于 2012-7-3 16:22:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 设置Java启动参数:
编辑bin/catalina.sh加上如下脚本:
JAVA_OPTS='-Xms512m -Xmx1024m'
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=64M -XX:MaxPermSize=256m"

其中 JAVA_OPTS='-Xms512m -Xmx1024m' 是设置Tomcat使用的内存的大小.
-XX:PermSize=64M -XX:MaxPermSize=256m 指定类空间(用于加载类)的内存大小
详细说明参看Java的Heap空间设置.

2.给特定MIME类型文件设置Gzip压缩:
conf/server.xml增加如下配置:
  1. <Connector port="8080" protocol="HTTP/1.1"  maxHttpHeaderSize="8192"   
  2.                 maxThreads="150" minSpareThreads="4" maxSpareThreads="50"   
  3.                 enableLookups="false" redirectPort="8443" acceptCount="100"   
  4.                 connectionTimeout="30000" disableUploadTimeout="true" URIEncoding="utf-8"   
  5.                 compression="on"   
  6.                 compressionMinSize="2048"   
  7.                 noCompressionUserAgents="gozilla, traviata"   
  8.                 compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  />      
  9.                  
  10.     <!-- Note : To use gzip compression you could set the following properties :   
  11.         
  12.         compression="on"   
  13.         compressionMinSize="2048"   
  14.         noCompressionUserAgents="gozilla, traviata"   
  15.         compressableMimeType="text/html,text/xml"   
  16.      -->   
复制代码
具体参数说明如下:
1) compression="on" 打开压缩功能
2) compressionMinSize="2048" 启用压缩的输出内容大小,这里面默认为2KB
3) noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩
4) compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 压缩文件MIME类型

3.设置cache-control的Filter:
Java Filter代码:
  1. public class ResponseHeaderFilter implements Filter {   
  2.     FilterConfig fc;   
  3.   
  4.     public void doFilter(ServletRequest req, ServletResponse res,   
  5.             FilterChain chain) throws IOException, ServletException {   
  6.         HttpServletResponse response = (HttpServletResponse) res;   
  7.         // set the provided HTTP response parameters   
  8.         for (Enumeration e = fc.getInitParameterNames(); e.hasMoreElements();) {   
  9.             String headerName = (String) e.nextElement();   
  10.             response.addHeader(headerName, fc.getInitParameter(headerName));   
  11.         }   
  12.         // pass the request/response on   
  13.         chain.doFilter(req, response);   
  14.     }   
  15.   
  16.     public void init(FilterConfig filterConfig) {   
  17.         this.fc = filterConfig;   
  18.     }   
  19.   
  20.     public void destroy() {   
  21.         this.fc = null;   
  22.     }   
  23.   
  24. }  
复制代码
web.xml配置:
  1. <filter>  
  2.         <filter-name>NoCache</filter-name>  
  3.         <filter-class>apis.server.common.util.ResponseHeaderFilter</filter-class>  
  4.         <init-param>  
  5.             <param-name>Cache-Control</param-name>  
  6.             <param-value>no-cache, must-revalidate</param-value>  
  7.         </init-param>  
  8.     </filter>  
  9.     <filter>  
  10.         <filter-name>CacheForWeek</filter-name>  
  11.         <filter-class>apis.server.common.util.ResponseHeaderFilter</filter-class>  
  12.         <init-param>  
  13.             <param-name>Cache-Control</param-name>  
  14.             <param-value>max-age=604800, public</param-value>  
  15.         </init-param>  
  16.     </filter>  
  17.   
  18. <filter-mapping>  
  19.         <filter-name>NoCache</filter-name>  
  20.         <url-pattern>*.do</url-pattern>  
  21.     </filter-mapping>  
  22.     <filter-mapping>  
  23.         <filter-name>CacheForWeek</filter-name>  
  24.         <url-pattern>/images/*</url-pattern>  
  25.     </filter-mapping>  
  26.     <filter-mapping>  
  27.         <filter-name>CacheForWeek</filter-name>  
  28.         <url-pattern>/img/*</url-pattern>  
  29.     </filter-mapping>  
  30.     <filter-mapping>  
  31.         <filter-name>CacheForWeek</filter-name>  
  32.         <url-pattern>/icons/*</url-pattern>  
  33.     </filter-mapping>  
  34.     <filter-mapping>  
  35.         <filter-name>CacheForWeek</filter-name>  
  36.         <url-pattern>/ext/*</url-pattern>  
  37.     </filter-mapping>  
  38.     <filter-mapping>  
  39.         <filter-name>CacheForWeek</filter-name>  
  40.         <url-pattern>*.js</url-pattern>  
  41.     </filter-mapping>  
  42.     <filter-mapping>  
  43.         <filter-name>CacheForWeek</filter-name>  
  44.         <url-pattern>*.css</url-pattern>  
  45.     </filter-mapping>   
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
您需要登录后才可以回帖 登录 | 注-册

本版积分规则

小黑屋|手机版|Archiver|数码鹭岛 ( 闽ICP备20006246号 )  

counter

GMT+8, 2025-12-4 00:23 , Processed in 0.069973 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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