设为首页 收藏本站
查看: 630|回复: 0

[经验分享] tomcat 配置文件优化

[复制链接]

尚未签到

发表于 2018-12-4 10:50:35 | 显示全部楼层 |阅读模式
一、前言
对于tomcat的优化主要包括两个方面,一个是对Tomcat启动参数进行优化配置,另一个是Tomcat容器内的优化配置,下面分别用具体详细的参数配置说明进行分析(更多推荐“tomcat的HTTPS安全通道配置”、源码分析等)
二 、Tomcat内存优化
tomcat启动参数设置,主要在其bin目录下catalina文件(window环境对象catalina.bat、linux环境对应catalina.sh)进行设置,在文件头部复制下面参数示例,
1. Window环境
    详细的配置参数如下,关于参数的详细说明参见"关于jvm内存优化部分"
1
2
3
4
5
6
7
8
9
10
11
set JAVA_OPTS=-server -Xms1400M -Xmx1400M -Xss512k
-XX:+AggressiveOpts -XX:+UseBiasedLocking
-XX:PermSize=128M -XX:MaxPermSize=256M
-XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC
-XX:+CMSParallelRemarkEnabled
-XX:+UseCMSCompactAtFullCollection
-XX:LargePageSizeInBytes=128m  
-XX:+UseFastAccessorMethods
-XX:+UseCMSInitiatingOccupancyOnly
-Djava.awt.headless=true
    简单配置,如下:
1
set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m
标准参数(-),所有JVM都必须支持这些参数的功能,而且向后兼容;例如:
-client——设置JVM使用Client模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或开发调试;在32位环境下直接运行Java程序默认启用该模式。
-server——设置JVM使Server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生产环境。在具有64位能力的JDK环境下默认启用该模式。
非标准参数(-X),默认JVM实现这些参数的功能,但是并不保证所有JVM实现都满足,且不保证向后兼容;
非稳定参数(-XX),此类参数各个JVM实现会有所不同,将来可能会不被支持,需要慎重使用;
2. Linux环境
    详细配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
JAVA_OPTS="-server -Xms1400M -Xmx1400M -Xss512k
-XX:+AggressiveOpts
-XX:+UseBiasedLocking
-XX:PermSize=128M -XX:MaxPermSize=256M
-XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC  
-XX:+CMSParallelRemarkEnabled
-XX:+UseCMSCompactAtFullCollection
-XX:LargePageSizeInBytes=128m
-XX:+UseFastAccessorMethods
-XX:+UseCMSInitiatingOccupancyOnly
-Djava.awt.headless=true "
简单配置如下:
1
JAVA_OPTS="$JAVA_OPTS -server -Xms800m -Xmx800m -XX:MaxNewSize=256m"
3. 单类或jar包
1
java.exe  -Xms128m -Xmx800m   Main
三、Tomcat连接器优化
tomcat本身处理最大并发有服务器系统本身上限决定(一般window的1000左右,linux为2000左右),但是默认设置只有25,因此打开其conf目录下server.xml文件,定位到如下内容,默认是比较简单的配置:
1

其实详细的默认缺省配置应该是:
1
2
3
4
5
6
7
8
9
10
11
12
13
14

URIEncoding:设置含有中文名的文件的url编码方式
minSpareThreads:初始化空闲线程数
maxSpareThreads:最大允许空闲线程存活数
connectionTimeout:网络连接超时时间毫秒数
maxThreads:tomcat可创建的最大线程并发数
acceptCount:当线程池满了,即到达maxThreads设置的值,还可以接受客户端请求数到临时队列等待区,等待线程释放后依次排队使用
maxProcessors与minProcessors:window的1000左右,linux为2000左右
compression:给Tomcat配置gzip压缩(HTTP压缩)功能,完整配置如下:
1
2
compression="on" compressionMinSize="2048"            
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain
HTTP 压缩可以大大提高浏览网站的速度,客户端请求资源后,服务器端将文件压缩,由客户端负责解压缩。相对于普通过程(HTML,CSS,Javascript,Text) ,节省40%左右流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出内容也能进行压缩,压缩效率非常高。1)compression="on" 开启压缩功能2)compressionMinSize="2048" 设置压缩的输出内容大小,默认为2KB3)noCompressionUserAgents="gozilla, traviata" 对于指定浏览器,不启用压缩4)compressableMimeType="text/html,text/xml" 压缩类型
四、NIO配置
默认配置BIO方式兼容版本,NIO(No-blocking I/O)从JDK 1.4起,NIO API作为一个基于缓冲区,并能提供非阻塞I/O操作的API被引入,如需配置如下
将默认service.xml配置
1

修改为
1

  

  参考博文:http://www.xwood.net/_site_domain_/_root/5870/5874/t_c255466.html




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-643173-1-1.html 上篇帖子: 《Tomcat日志系统详解》 下篇帖子: 在Tomcat中实现https安全连接
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表