最近在补充本身的短板,恰好整理到Tomcat调优这块,基本上面试必问,因而就花了点时间去搜集一下tomcat调优
都调了些什么,先记录一下调优手段,更多详细的原理和实现之后用到时候再来补充记录,下面就来介绍一下,
tomcat调优大体分为两大类:html
静态资源若是让tomcat处理的话tomcat的性能会被损耗不少,因此咱们通常都是采用:nginx+tomcat实现动静分离,
让 Tomcat 只负责 jsp 文件的解析工做,nginx实现静态资源的访问。java
executor
指定这个链接器所使用的执行器(线程池)nginx
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" ##超时时间,毫秒,这里是20秒 redirectPort="443" maxThreads="3000" ##最大线程数 minSpareThreads="20" ##最小空闲线程数,这里是一直会运行的线程 acceptCount="1000" ##接收的队列数 enableLookups="false" ##关闭dns解析,减小性能损耗 server="None" URIEncoding="UTF-8" />
对于每个请求都要建立一个线程来进行处理,不适合高并发apache
Apache JServer Protocol
使用Nginx+tomcat的架构,因此用不着AJP协议,因此把AJP链接器禁用tomcat
tomcat是运行在jvm上的,因此对jvm的调优也是很是有必要的。服务器
找到:catalina.sh架构
添加的位置并发
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8-server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XXermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"
调整堆大小的的目的是最小化垃圾收集的时间,以在特定的时间内最大化处理客户的请求,less
转载:www.cnblogs.com/wangsen