Tomcat性能调优

内容转载自:java

http://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=2651478294&idx=3&sn=8d72cb9fd39c204ab086cd152f4d90e5&chksm=bd2535698a52bc7f08a24774d854c4bc2da8480fe01f9c7f6b72510dd64b5f837fd99717ea80&mpshare=1&scene=23&srcid=0315lUalUtvkLoSecAog5kwh#rdtomcat

一、JDK内存优化服务器

根据服务器物理内容状况配置相关参数优化tomcat性能。当应用程序须要的内存超出堆的最大值时虚拟机就会提示内存溢出,而且致使应用服务崩溃。所以通常建议堆的最大值设置为可用内存的最大值的80%。 Tomcat默承认以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,须要调大。网络

Tomcat默承认以使用的内存为128MB,并发

Windows下,在文件/bin/catalina.bat,jvm

Unix下,在文件/bin/catalina.sh的前面,socket

增长以下设置:性能

JAVA_OPTS=’-Xms【初始化内存大小】 -Xmx【可使用的最大内存】 -XX:PermSize=64M -XX:MaxPermSize=128m’ 须要把几个参数值调大。例如: JAVA_OPTS=’-Xms256m -Xmx512m’ 表示初始化内存为256MB,可使用的最大内存为512MB。优化

参数详解线程

-server  启用jdk 的 server 版;
-Xms    java虚拟机初始化时的最小内存;
-Xmx    java虚拟机可以使用的最大内存;
-XX:PermSize    内存永久保留区域
-XX:MaxPermSize   内存最大永久保留区域 
-Xmn    jvm最小内存

32G 内存配置示例:

JAVA_OPTS="$JAVA_OPTS  -Xms10g -Xmx10g -XX:PermSize=1g -XX:MaxPermSize=2g -Xshare:off -Xmn1024m

二、tomcat线程优化

在tomcat配置文件server.xml中的配置中,和链接数相关的参数有:

maxThreads: Tomcat使用线程来处理接收的每一个请求。这个值表示Tomcat可建立的最大的线程数。默认值150。

acceptCount: 指定当全部可使用的处理请求的线程数都被使用时,能够放处处理队列中的请求数,超过这个数的请求将不予处理。默认值10。

minSpareThreads: Tomcat初始化时建立的线程数。默认值25。

maxSpareThreads: 一旦建立的线程超过这个值,Tomcat就会关闭再也不须要的socket线程。默认值75。

enableLookups: 是否反查域名,默认值为true。为了提升处理能力,应设置为false

connnectionTimeout: 网络链接超时,默认值60000,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。一般可设置为30000毫秒。

maxKeepAliveRequests: 保持请求数量,默认值100。 bufferSize: 输入流缓冲大小,默认值2048 bytes。

compression: 压缩传输,取值on/off/force,默认值off。 其中和最大链接数相关的参数为maxThreads和acceptCount。若是要加大并发链接数,应同时加大这两个参数。

32G 内存配置示例:

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" 
maxThreads="1000" 
minSpareThreads="60"
maxSpareThreads="600" 
acceptCount="120" 
redirectPort="8443" 
URIEncoding="utf-8"/>
相关文章
相关标签/搜索