tomcat调优总结

2018-05-21  本文已影响0人  Hope_wing

一、mac下启动tomcat:

1.cd 到程序bin目录
2.终端执行 ./startup.sh命令

二、tomcat线程优化

1.打开/conf/server.xml文件
2.添加如下配置:

<Executor name="tomcatThreadPool" 
        namePrefix="catalina-exec-"
        maxThreads="500" 
        minSpareThreads="20" 
        maxIdleTime="60000" 
        prestartminSpareThreads="true" 
        maxQueueSize="100" />

3.参数说明

name:线程池名称
namePrefix:线程前缀
maxThreads:最大并发连接数(不配置默认200,一般建议500~800,要根据自己的硬件条件及实际业务需求而定。)
minSpareThreads:tomcat启动出事化的线程数,默认值25
prestartminSpareThreads:在tomcat初始化的时候就初始化minSpareThreads的值,不设置true时默认
minSpareThreadsmaxQueueSize:最大的等待队列数,超过则拒绝请求
minSpareThreads:线程最大空闲时间60秒

三、tomcat线程策略

1、BIO(同步阻塞式IO)
一个线程处理一个请求
缺点:并发量高时,线程数较多,浪费资源
tomcat7及以下使用BIO

2、NIO(同步非阻塞式IO)
利用异步IO处理,可以通过少量的线程处理大量的请求
tomcat8及以上使用这种方式,tomcat7中需修改如下配置启动:

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443"/>

ps:单机测试中效率比BIO高出15%

3、AIO(又称NIO.2或APR)
异步非阻塞(需要额外软件)

本小编暂时未在本机搭建成功,如需要可让开发和运维协助 [囧]

四、tomcat开启 JMX协议 实现远程监控

1.打开/bin/catalina.sh文件(Windows系统下是catalina.bat文件)
2.搜索# ----- Execute The Requested Command ---------------
3.在如图位置添加配置(Windows下需在前面添加 set)

JAVA_OPTS="-server -Xms256m -Xmx768m -Djava.rmi.server.hostname=IP地址 -Dcom.sun.management.jmxremote.port=端口号 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
1.png

(ps:内存优化-server -Xms256m -Xmx768m )

4.启动tomcat

5.启动VisualVM程序即可看到Remote下有上面配置的远程链接 2.png
6.实现远程监控
.3png
上一篇下一篇

猜你喜欢

热点阅读