Tomcat有很多方面,从内存、并发、缓存四个方面介绍优化方法。
 
一.Tomcat内存优化
  Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数。
  JAVA_OPTS参数说明
  -server 启用jdk 的 server 版;
  -Xms Java虚拟机初始化时的最小内存;
  -Xmx java虚拟机可使用的最大内存;
  -XX: PermSize 内存永久保留区域
  -XX:MaxPermSize 内存最大永久保留区域
  服务器参数配置
 
  现公司服务器内存一般都可以加到最大2G ,所以可以采取以下配置:
 
  JAVA_OPTS=’-Xms1024m -Xmx2048m -XX: PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m’
 
  配置完成后可重启Tomcat ,通过以下命令进行查看配置是否生效:
  首先查看Tomcat 进程号:
  sudo lsof -i:9027
  我们可以看到Tomcat 进程号是 12222 。
 
  查看是否配置生效:
  sudo jmap – heap 12222
     我们可以看到MaxHeapSize 等参数已经生效。
 
二.Tomcat并发优化
 
  1.Tomcat连接相关参数
     在Tomcat 配置文件 server.xml 中的调整连接器connector的并发处理能力
 
  1>参数说明
    maxThreads                  客户请求最大线程数
  minSpareThreads            Tomcat初始化时创建的 socket 线程数
  maxSpareThreads            Tomcat连接器的最大空闲 socket 线程数
  enableLookups                若设为true, 则支持域名解析,可把 ip 地址解析为主机名
  redirectPort                   在需要基于安全通道的场合,把客户请求转发到基于SSL 的 redirectPort 端口
  acceptAccount                监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads )
  connectionTimeout          连接超时
  minProcessors                服务器创建时的最小处理线程数
  maxProcessors                服务器同时最大处理线程数
  URIEncoding                  URL统一编码
 
  2>Tomcat中的配置示例
  <Connector port="9027"
  protocol="HTTP/1.1"
  maxHttpHeaderSize="8192"
  maxThreads="1000"
  minSpareThreads="100"
  maxSpareThreads="1000"
  minProcessors="100"
  maxProcessors="1000"
  enableLookups="false"
  URIEncoding="utf-8"
  acceptCount="1000"
  redirectPort="8443"
  disableUploadTimeout="true"/>
 
 
  2.Tomcat缓存优化
  1>参数说明
    compression                     打开压缩功能
  compressionMinSize           启用压缩的输出内容大小,这里面默认为2KB
  compressableMimeType      压缩类型
  connectionTimeout            定义建立客户连接超时的时间. 如果为 -1, 表示不限制建立客户连接的时间
 
  2>Tomcat中的配置示例
 
 <Connector port="9027"
  protocol="HTTP/1.1"
  maxHttpHeaderSize="8192"
  maxThreads="1000"
  minSpareThreads="100"
  maxSpareThreads="1000"
  minProcessors="100"
  maxProcessors="1000"
  enableLookups="false"
  compression="on"
  compressionMinSize="2048"
  compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
  connectionTimeout="20000"
  URIEncoding="utf-8"
  acceptCount="1000"
  redirectPort="8443"
  disableUploadTimeout="true"/>
 
 
 
  3.参考配置
 
  1>旧有的配置
     参考网络对服务器做过如下配置,拿出来分享下:
 
  <Connector port="9027"
  protocol="HTTP/1.1"
  maxHttpHeaderSize="8192"
  maxThreads="1000"
  minSpareThreads="25"
  maxSpareThreads="75"
  enableLookups="false"
  compression="on"
  compressionMinSize="2048"
  compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
  connectionTimeout="20000"
  URIEncoding="utf-8"
  acceptCount="200"
  redirectPort="8443"
  disableUploadTimeout="true" />
后来发现在访问量达到3百万多的时候出现性能瓶颈。
  
2>更改后的配置
 
<Connector port="9027"
  protocol="HTTP/1.1"
  maxHttpHeaderSize="8192"
  maxThreads="1000"
  minSpareThreads="100"
  maxSpareThreads="1000"
  minProcessors="100"
  maxProcessors="1000"
  enableLookups="false"
  compression="on"
  compressionMinSize="2048"
  compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
  connectionTimeout="20000"
  URIEncoding="utf-8"
  acceptCount="1000"
  redirectPort="8443"
  disableUploadTimeout="true"/>

Tomcat从内存、并发、缓存方面优化方法的更多相关文章

  1. tomcat常用配置详解和优化方法

    tomcat常用配置详解和优化方法 参考: http://blog.csdn.net/zj52hm/article/details/51980194 http://blog.csdn.net/wuli ...

  2. Tomcat之内存、并发、缓存方面优化方法

    一.Tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数. JAVA_OPTS ...

  3. (windows下)tomcat优化--内存,并发.缓存三方面优化

    一.内存 注: jdk1.8中废弃了-XX:PermSize和-XX:MaxPermSize的持久态(存放常量.静态变量区)配置, 多了一个元数据区(Metadata Space:默认为内存的0.2% ...

  4. Tomcat记录-tomcat常用配置详解和优化方法(转载)

    常用配置详解 1 目录结构 /bin:脚本文件目录. /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载). /conf:存放配置文件,最重要的是serv ...

  5. 大数据量高并发访问SQL优化方法

    保证在实现功能的基础上,尽量减少对数据库的访问次数:通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担:能够分开的操作尽量分开处理,提高每次的响应速度:在数据窗口使用SQL时,尽量把 ...

  6. tomcat性能优化,内存优化和并发线程连接优化

    今天被一同事问到tomcat和内存优化的问题,而网上的资料基本都是来回copy,所以抽时间随便写点.文章中设置的参数都是一个随便写的,具体的还要根据自己的情况来定. 1.内存优化: 说到tomcat不 ...

  7. java处理高并发高负载类网站的优化方法

    java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF ...

  8. java架构师负载均衡、高并发、nginx优化、tomcat集群、异步性能优化、Dubbo分布式、Redis持久化、ActiveMQ中间件、Netty互联网、spring大型分布式项目实战视频教程百度网盘

    15套Java架构师详情 * { font-family: "Microsoft YaHei" !important } h1 { background-color: #006; ...

  9. [转]java处理高并发高负载类网站的优化方法

    本文转自:http://www.cnblogs.com/pengyongjun/p/3406210.html java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,ja ...

随机推荐

  1. Git基本命令行操作 (转)

    Git远程操作详解   作者: 阮一峰 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和 ...

  2. Android webservice的用法详细讲解

    Android webservice的用法详细讲解 看到有很多朋友对WebService还不是很了解,在此就详细的讲讲WebService,争取说得明白吧.此文章采用的项目是我毕业设计的webserv ...

  3. input、button、文字的对齐水平对齐

    input.button.文字的对齐~! 1.input文本框下移的方法:padding-top ,可以解决文本框向下移. 2.input文本框和button对齐可以给他们外面加table (例如,谷 ...

  4. OD调试篇8

    那么今天需要破解的呢,是这样一款软件. 程序刚刚进去会发现一个nag弹窗   说没有注册,要花20美金才能注册.只有5天的限制期限可以用了 进去之后 点击help里的关于这款软件   也显示了这是一个 ...

  5. 正则验证 手机号 QQ号和邮箱

    + (BOOL) validateEmail:(NSString *)email{    NSString *emailRegex = @"^[\\w-]+(\\.[\\w-]+)*@[\\ ...

  6. Qt开发环境中使用报表控件FastReport遇到的一些问题(二)

    上一节中谈到的那个问题:传递的变量内容如果是纯英文,报表报错.经笔者反复测试,找到了解决办法:代码中第5行替换为以下 params<<"my_var"<<& ...

  7. import和from import陷阱一

    #from datetime import datetime import datetime format="output-%Y-%m-%d-%H%M%S.txt" str=&qu ...

  8. 简便删除已经存在的oracle数据库用户UPAY3LINGXI_YS

    简便删除已经存在的oracle数据库用户UPAY3LINGXI_YS:1.Toad工具用oracle最大权限用户登录system2.查看正在使用UPAY3LINGXI_YS的进程select * fr ...

  9. 在网页中插入MSN,Skype,QQ的方法

    MSN源码: <a href="msnim:chat?contact=come400@hotmail.com" target="blank">可以适 ...

  10. CSS盒状模型简介

    CSS盒状模型 在平时的开发过程中还是经常得写博客,这2天有个公司找我面试,在面试当中提到了CSS中的盒状模型.这个东西在平时的前端开发经常用到.以下简单介绍一下: CSS中的盒状模型由:margin ...