收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
1.1.常用配置参数
| 参数 | 默认值 | 说明 |
| — | — | — |
| server.port | 8080 | 配置Web容器的端口号 |
| server.servlet.session.timeout | 30m(30分钟) | session失效时间。如果不写单位则默认单位是秒。(注意:由于Tomcat中配置session过期时间是以分钟为单位,如果这里设置是秒的话,那么会自动转换为一个不超过所配置秒数的最大分钟数。比如配置了119秒(1分59秒),那么实际session过期时间是1分钟) |
| server.servlet.context-path | / | URL访问路径的基础路径 |
| server.tomcat.uri-encoding | UTF-8 | 配置Tomcat请求编码 |
| server.tomcat.basedir | | 配置Tomcat运行日志和临时文件的目录。若不配置,则默认使用系统的临时目录。 |
1.2. tomcat性能优化核心参数
tomcat连接器工作原理图:
-
在Acceptor之前维护一个请求接收队列,该队列的最大长度即:tomcat可以接受的最大请求连接数:server.tomcat.max-connections。
-
Acceptor监听连接请求,并生成一个 SocketProcessor 任务提交到线程池去处理
-
当线程池里面的所有线程都被占用,新建的SocketProcessor 任务被放入等待队列,等待队列的最大程度:server.tomcat.accept-count
-
线程池的server.tomcat.threads.max决定了tomcat的极限SocketProcessor 任务处理能力。不是越大越好,线程越多耗费的资源也越多。
-
线程池的server.tomcat.threads.min-spare在应用空闲时,保留一定的线程数在线程池内。避免请求到来后,临时创建线程浪费时间。
| 参数 | 默认值 | 说明 |
| — | — | — |
| server.tomcat.max-connections | 8192 | 接受的最大请求连接数 |
| server.tomcat.accept-count | 100 | 当所有的线程都被占用,被放入请求队列等待的最大的请求连接数量 |
| server.tomcat.threads.max | 200 | 最大的工作线程池数量 |
| server.tomcat.threads.min-spare | 10 | 最小的工作线程池数量 |
步骤:
1.建立一个配置类,加上@Configuration注解
2.添加定制器ConfigurableServletWebServerFactory
3.将定制器返回
@Configuration
public class TomcatCustomizer {
@Bean
public ConfigurableServletWebServerFactory configurableServletWebServerFactory(){
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.addConnectorCustomizers(new MyTomcatConnectionCustomizer());
return factory;
}
static class MyTomcatConnectionCustomizer implements TomcatConnectorCustomizer {
public MyTomcatConnectionCustomizer() {
}
@Override
public void customize(Connector connector) {
connector.setPort(Integer.parseInt("8888"));
connector.setProperty("maxConnections", "8192");
connector.setProperty("acceptorThreadCount", "100");
connector.setProperty("minSpareThreads", "10");
connector.setProperty("maxThreads", "200");
}
}
}
收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
tps://bbs.csdn.net/topics/618679757)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!