转自:https://www.cnblogs.com/myseries/p/11480203.html
1.动静分离
静态资源如果让tomcat处理的话tomcat的性能会被损耗很多,所以我们一般都是采用:nginx+tomcat实现动静分离,让 Tomcat 只负责 jsp 文件的解析工作,nginx实现静态资源的访问。
(springboot好像没法这样操作)
2.线程池调优
打开serve.xml
配置Executor
参数解释
name 给执行器(线程池)起一个名字
namePrefix 指定线程池中的每一个线程的name前缀
maxThreads 线程池中最大的线程数量
如果请求过多,不要在单个tomcat中设置过高的maxThreads数量,而是应该去考虑tomcat集群
minSpareThreads 线程池中允许空闲的线程数量(多余的线程都杀死)
maxIdLeTime 一个线程空闲多久算是一个空闲线程
上面两个参数没什么,主要是下面三个,最大线程数,最大空闲线程数,空闲线程时间定义
3.连接器Connector调优
打开tomcat的serve.xml
配置Connector
executor 指定这个连接器所使用的执行器(线程池)
哦,所以刚才的name属性还是有用的……,可以知道是哪个executor用的
enableLookups=“false” 关闭dns解析,减少性能损耗
connectionTimeout 连接超时时间
acceptCount=“1000” 线程池中的线程都被占用,允许放到队列中的请求数
maxThreads=“3000” 最大线程数
minSpareThreads=“20” 最小空闲线程数