tomcat参数优化
网上google了一翻,现在tomcat的优化记录如下:打开tomcat/conf目录下的server.xml文件,对Connector节点修改如下:
Xml代码
[*]<!--
[*]1,maxThreads="1000":设定处理客户请求的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目,这个值不会额外影响性能,因此可以适当加大,但让太大会碰到流量攻击哦,默认值为200.
[*]2,minSpareThreads="25":设置Tomcat初始化时创建的socket线程数,并且在一些线程被使用后,会不断地创建新的线程,以致使空闲线程至少保持minSpareThreads所设置的数目,默认值为4
[*]3,maxSpareThreads="75":设置Tomcat连接器最大空闲socket 线程数,当一些连接断开后,会不断的释放出线程,当空与线程超过maxSpareThreads所设置的数目时,会主动关闭超出的线程以节省资源默认值为50
[*]4,acceptCount="100":设定在监听端口队列中的最大客户请求数,默认值为10,如果队列已满客户请求将被拒绝。可用线程全部用完时,其他的连接全部放入队列,队列里的最大数目就是acceptCount设定的,超出这个数目将拒绝连接
[*]5,connectionTimeout:定义建立客户连接超时的时间,默认这为20000毫秒。如果为0,表示不限制建立客户连接的时间。
[*]6,maxIdleTime="60000":超过最小活跃线程数量的线程,如果空闲时间超过这个设置后,会被关别。默认是1分钟
[*]7,useBodyEncodingForURI:表示是否用request.setCharacterEncoding参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,默认值是false.
[*]8,redirectPort:指定转发端口。
[*]9,connectionTimeout:定义建立客户连接超时的时间,默认这为20000毫秒。如果为-1,表示不限制建立客户连接的时间。
[*]10,useBodyEncodingForURI:表示是否用request.setCharacterEncoding参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,默认值是false.
[*]11, enableLookups: 是否反查域名,默认值为true。为了提高处理能力,应设置为false
[*]12, compression 压缩传输,取值on/off/force,默认值off。
[*]-->
[*] <Connector port="8080"
[*] maxThreads="3000"
[*] minSpareThreads="25"
[*] maxSpareThreads="75"
[*] enableLookups="false"
[*] redirectPort="8443"
[*] acceptCount="100"
[*] debug="0"
[*] connectionTimeout="20000"
[*] disableUploadTimeout="true"
[*] reloadable="true"
[*] URIEncoding="UTF-8"
[*] useBodyEncodingForURI="true"
[*] compression="on"
[*] compressionMinSize="1024"
[*] compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" />
再对tomcat/bin/目录下的catalina.bat(win)
Java代码
[*]CATALINA_OPTS='-Xms512m -Xmx1024m'
[*]JAVA_OPTS='-Xms512m -Xmx1024m'
linux下对catalina.sh文件在里的第二行添加如下设置:
Java代码
[*]CATALINA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256m"
其中,Xms是指初始化堆内存大少,Xmx是最大堆内存大少。一般最大堆内存可以设置为物理内存数的70-80%之间!
转载地址:http://tcrct.iteye.com/blog/1817631
页:
[1]