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

[经验分享] Tomcat优化配置

[复制链接]

尚未签到

发表于 2018-11-29 11:35:33 | 显示全部楼层 |阅读模式
一.Tomcat内存优化

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

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

服务器参数配置
http://s3.运维网.com/wyfs02/M01/84/31/wKiom1eIRjehEV1wAAGfyB_-mU0519.jpg-wh_500x0-wm_3-wmp_4-s_460914501.jpg


现公司服务器内存一般都可以加到最大2G ,所以可以采取以下配置:

  Java代码
export JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=128m  -XX:MaxPermSize=256m -XX:SurvivorRatio=14 -XX:+UseParallelOldGC"

配置完成后可重启Tomcat ,通过以下命令进行查看配置是否生效:
1. 首先根据端口号查看Tomcat 进程号:
  Xml代码
lsof -i:8188[root@yyghapp ~]# lsof -i:8188
COMMAND   PID USER   FD   TYPE    DEVICE SIZE NODE NAME
java    25010 root   37u  IPv6 170647977       TCP *:8188 (LISTEN)
我们可以看到Tomcat 进程号是 25010
1. 查看是否配置生效:
  Xml代码
sudo jmap  -heap 25010  http://s3.运维网.com/wyfs02/M01/84/31/wKioL1eIRenTn6JGAADo4TqU-Ds626.jpg-wh_500x0-wm_3-wmp_4-s_3478907034.jpg
我们可以看到MaxHeapSize 等参数已经生效。


二.Tomcat并发优化

1.Tomcat连接相关参数

Tomcat 配置文件 server.xml 中的 配置中

1.参数说明


maxHttpHeaderSize=”8192”: 此选项用于配置:来自于客户端请求的Request和Response的HTTP header
的最大长度,以字节计算。如果不设置,该属性为4096(4K)。
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为 10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为 75
acceptCount:允许的最大连接数,应大于等于 maxProcessors ,默认值为 100
enableLookups:是否反查域名,取值为: truefalse 。为了提高处理能力,应设置为 false
connectionTimeout:网络连接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患的。通常可设置为30000 毫秒(也就是30秒)。
  redirectPort="8443":这里系统默认的,它指定转发端口,如果当前只支持non-SSL请求,在需要安全通信的场所,将把客户请求转发至SSL的redirectPort端口。


其中和最大连接数相关的参数为maxProcessorsacceptCount 。如果要加大并发连接数,应同时加大这两个参数。
web server允许的最大连接数还受制于操作系统的内核参数设置,通常 Windows2000 个左右, Linux1000 个左右。

2.Tomcat中的配置示例

  Xml代码
    2.调整连接器connector的并发处理能力


1.参数说明

  maxHttpHeaderSize    http请求头信息的最大程度,超过此长度的部分不予处理。一般8K。
  keepAliveTimeout  长连接最大保持时间(毫秒)。此处为15秒。
  maxKeepAliveRequests  最大长连接个数(1表示禁用,-1表示不限制个数,默认100个。一般设置在100~200之间) the maximum number of HTTP requests that can be held in the pipeline until the connection is closed by the server. Setting this attribute to 1 disables HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and pipelining. Setting this to -1 allows an unlimited number of pipelined or keep-alive HTTP requests. If not specified, this attribute is set to 100.
maxThreads   客户请求最大线程数
minSpareThreads    Tomcat初始化时创建的 socket 线程数
maxSpareThreads     Tomcat连接器的最大空闲 socket 线程数
enableLookups    若设为true, 则支持域名解析,可把 ip 地址解析为主机名
redirectPort      在需要基于安全通道的场合,把客户请求转发到基于SSLredirectPort 端口
acceptAccount       监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads
connectionTimeout   连接超时
minProcessors         服务器创建时的最小处理线程数
maxProcessors        服务器同时最大处理线程数
disableUploadTimeout="true"    该标志位表明当执行servlet时,是否允许servlet容器使用一个不同的、更长的连接超时。启用该标志位将导致在上传数据时,要么使用更长的时间完成上传,要么出现更长的超时。如果不指定,该属性为“false”。

URIEncoding    URL统一编码


2.Tomcat中的配置示例


  Xml代码
  
3.Tomcat缓存优化


1.参数说明

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

2.Tomcat中的配置示例
  Xml代码
4.参考配置

1.旧有的配置

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

  Xml代码
  
后来发现在访问量达到3百万多的时候出现性能瓶颈。
2.更改后的配置


  Xml代码
  
性能有待观察中 ……
    有时不光要优化tomcat,同时还需要更改Linux的一些系统参数。如果WEB服务器进行压力测试时报socket不足,则可以对/etc/security/limits.conf最后进行相应修改:

* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
http://s2.运维网.com/wyfs02/M02/84/31/wKiom1eIT0yCsrN_AABR1Zd2hlk556.jpg-wh_500x0-wm_3-wmp_4-s_1084799807.jpg




运维网声明 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-641127-1-1.html 上篇帖子: Tomcat session Error 下篇帖子: tomcat的目录结构
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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