当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

tomcat7性能调优(01)

发表于: 2015-06-17   作者:toknowme   来源:转载   浏览:
摘要:     Tomcat优化: 1、最大连接数最大线程等设置 <Connector port="8082" protocol="HTTP/1.1"                useBodyEncodingForURI="t

 

 

Tomcat优化:
1、最大连接数最大线程等设置

<Connector port="8082" protocol="HTTP/1.1"

               useBodyEncodingForURI="true" enableLookups="false" connectionTimeout="30000"

               maxConnections="2000" acceptCount="2000" maxThreads="1500"

               minSpareThreads="200" maxSpareThreads="1000" compression="on" compressionMinSize="2048"

               noCompressionUserAgents="gozilla, traviata" maxProcessors="1000" minProcessors="5" acceptorThreadCount="10" redirectPort="8443" />

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 
               maxConnections="500" acceptCount="500" maxThreads="300"
               minSpareThreads="50" maxSpareThreads="200" />
 
port
8080
端口号
protocol
HTTP/1.1
协议
useBodyEncodingForURI
true

useBodyEncodingForURI参数表示是否用request.setCharacterEncoding 
参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false。

 

URIEncoding参数指定对所有GET方式请求进行统一的重新编码(解码)的编码。

使用了Spring MVC的

enableLookups
 
 
connectionTimeout
 
网络连接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患的。通常可设置为 30000 毫秒。
maxConnections
 
 
acceptCount
 
指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
maxThreads
 
Tomcat 使用线程来处理接收的每个请求。
这个值表示 Tomcat 可创建的最大的线程数。
minSpareThreads
 
Tomcat 初始化时创建的线程数。
maxSpareThreads
 
一旦创建的线程超过这个值,
Tomcat 就会关闭不再需要的 socket 线程
compression
 
 
compressionMinSize
 
 
noCompressionUserAgents
 
 
maxProcessors
 
 
minProcessors
 
 
acceptorThreadCount
 
 
redirectPort
 
 
 
2、 启动参数设置

修改/bin/catalina.sh,增加如下设置:

JAVA_OPTS="-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】"

JAVA_OPTS="-Xms2048m -Xmx4096m -Xss2048K -XX:PermSize=256m -XX:MaxPermSize=512m"

 
 
-Xms】【-Xmx】讲解
-Xms128m
表示 JVM Heap(堆内存)最小尺寸128MB,初始分配

-Xmx512m

表示 JVM Heap(堆内存)最大尺寸512MB,按需分配

说明:如果-Xmx不指定或者指定偏小,应用可能会导致 java.lang.OutOfMemory错误,此错误来自JVM不是Throwable的,无法用try...catch捕捉。

 
【-XX:PermSize】【-XX:MaxPermSize】讲解
PermSize和MaxPermSize指明虚拟机为java永久生成对 (Permanate  generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。
 
-XX:PermSize=64MB 
最小尺寸,初始分配
-XX:MaxPermSize=256MB 
最大尺寸,按需分配

过小会导致: java.lang.OutOfMemoryError: PermGen space

参考资料:
http://phl.iteye.com/blog/1982676
http://blog.csdn.net/jchou/article/details/9356251
 

 

tomcat7性能调优(01)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1. jvm堆栈设置: 修改TOMCAT_HOME/bin/catalina.bat: set JAVA_OPTS=%JAVA_OPTS% -server -Xms102
跳转到主要内容 登录 (或注册) 中文 [userid] [关闭] 如果您还没有注册到 IBM 注册系统,我们为给您
一、总结前一天的学习 在前两天的学习中我们知道、了解并掌握了Web Server结合App Server实现单向Ht
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些
前言 这次,我们将在Linux下来动手完成Oracle数据库的安装与使用。 Oracle本身是可以免费下载的包括
二、从性能测试谈起 2.1 性能测试简介 即压力测试,就是根据一定数量的VU(Virtual Users)我称为并
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些
推荐GameKing的JVM学习笔记系列 和 cprime,更加细致 0.JVM体系结构简介 JVM Specification中的JVM
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号