1.Tomcat内存优化

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

堆设置
-server 启用jdk的 Server 版;一定要作为第一个参数,在多个CPU时性能佳 
-Xms Java虚拟机初始化时的最小内存;Server端JVM最好将-Xms和-Xmx设为相同值;
-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 等参数已经生效。

  **

2.Tomcat并发优化

  1.Tomcat连接相关参数

  在Tomcat 配置文件 server.xml 中的

<Connector port="9027"
  protocol="HTTP/1.1"
  maxHttpHeaderSize="8192"
  minProcessors="100"
  maxProcessors="1000"
  acceptCount="1000"
  redirectPort="8443"
  disableUploadTimeout="true"/>

  

2.调整连接器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" redirectPort="8443" URIEncoding="utf-8"  
maxHttpHeaderSize="8192"
  maxThreads="1000"
  minSpareThreads="100"
  maxSpareThreads="1000"
  minProcessors="100"
  maxProcessors="1000"
  enableLookups="false"
  acceptCount="1000"
  disableUploadTimeout="true"/>

3.Tomcat缓存优化

  1>参数说明

  c ompression 打开压缩功能
  compressionMinSize 启用压缩的输出内容大小,这里面默认为2KB
  compressableMimeType 压缩类型
  connectionTimeout 定义建立客户连接超时的时间. 如果为 -1, 表示不限制建立客户连接的时间

  2>Tomcat中的配置示例

  

<Connector port="9027"
  protocol="HTTP/1.1" connectionTimeout="20000"
  URIEncoding="utf-8" redirectPort="8443"
  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"
  acceptCount="1000"
  disableUploadTimeout="true"/>

4.配置案例

  1>旧有的配置【谨慎参考,原文没有标服务器环境】

  参考网络对服务器做过如下配置,拿出来分享下:

<Connector port="9027" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8"
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"
acceptCount="200"
  disableUploadTimeout="true" />

  后来发现在访问量达到3 百万多的时候出现性能瓶颈。

  2>更改后的配置

<Connector port="9027" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="utf-8" redirectPort="8443"
  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"
  acceptCount="1000"
  disableUploadTimeout="true"/>

  

......未完待总结

参考推荐:

http://www.cnblogs.com/starhu/p/5599773.html

http://ajita.iteye.com/blog/1994974

[转]Tomcat优化之内存、并发、缓存的更多相关文章

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

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

  2. Tomcat:Tomcat优化(内存,并发,缓存,安全,网络,系统等)详解

    一.Tomcat的安全配置 1.当Tomcat完成安装后首先要做的事情如下:首次安装完成后立即删除webapps下面的所有代码 rm -rf /srv/apache-tomcat/webapps/* ...

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

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

  4. tomcat优化-有改protocol 和 缓存 集群方案

    tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验. 1. 服务器资源 服务器所能提供CPU.内存.硬 ...

  5. tomcat优化和JVM修改内存

    Tomcat中的线程池(APR和ThreadPool) 2. 在Connector中指定使用共享线程池: <Connector executor="tomcatThreadPool&q ...

  6. 【转】tomcat优化-有改protocol 和 缓存 集群方案

    tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验. 1. 服务器资源 服务器所能提供CPU.内存.硬 ...

  7. Tomcat 8.0的并发优化 - 优化server.xml的配置

    目录 1 Tomcat的3种运行模式 1.1 BIO - 同步阻塞IO模式 1.2 NIO - 同步非阻塞IO模式 1.3 APR - 可移植运行时模式 2 Tomcat的并发配置(配置Connect ...

  8. tomcat 性能优化(内存优化 线程优化)

    转自:http://blog.sina.com.cn/s/blog_4b5bc01101014s81.html tomcat 性能优化 linux修改TOMCAT_HOME/bin/catalina. ...

  9. Android内存优化之内存缓存

    前言: 上面两篇博客已经讲了图片的基本知识和图片的加载方法及优化,所有的这些优化都是为了避免应用出现OOM这个问题.一个好的应用程序不仅要健壮不能出错还要方便用户使用,对于用户来说你的应用不仅要美观还 ...

随机推荐

  1. SDUT OJ 顺序表应用3:元素位置互换之移位算法

    顺序表应用3:元素位置互换之移位算法 Time Limit: 1000 ms Memory Limit: 570 KiB Submit Statistic Discuss Problem Descri ...

  2. js 对象 浅拷贝 和 深拷贝

    网上发现一个比较好的博客 阮一峰的感觉很不错推荐大家看看. http://www.ruanyifeng.com/blog/it/javascript/ 接下来看一下这两个拷贝方法 1.浅拷贝 拷贝就是 ...

  3. IOS中NSUserDefaults的用法

    NSUserDefaults适合存储轻量级本地数据,比如要保存用户登陆的用户名.密码,使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的 ...

  4. [PowerShell]Quote in String

    今天遇到一个问题,如何在Select-String的Pattern参数里能使用双引号 比如 Select-String -path . -pattern "Lines: <span c ...

  5. <!-- -->是HTML的注释标签js,css注释

    <!-- -->是HTML的注释标签 js,css:单行注释以 // 开头. 多行注释以 /* 开始,以 */ 结尾. web大作业(Vip视频解析) <!-- 这个网页是vip视频 ...

  6. PHP 生成随机数组

    /** 生成指定个数,以及最小最大值随机数组(包括最大值) * @parem $min 随机数组最小值 * @parem $max 随机数组最大值 * @parem $num 随机数组个数,默认max ...

  7. D3.js v4版本 按住shift键框选节点demo

    http://download.csdn.net/download/qq_25042329/10139649

  8. BZOJ - 2457 思維+貪心

    //為什麼我的Chrome OS更新後變成強制繁體了?? 題目要求使用最少的雙端隊列來維護一個單調非降序列 先來看下規律 首先,val肯定是單調非降的,在相等val範圍內的id可以xjb亂放不影響 其 ...

  9. C++ STL之Set

    set是关联容器,类似于集合. 特点是里面的元素不会重复,而且元素时有序的. 1.声明定义: #include<set> using namespace std; set<int&g ...

  10. Oracle date和timestamp区别

    <转自> http://blog.csdn.net/huaguoming/article/details/8693679 在今天的工作中,学到了以下几个知识点: 一.date和timest ...