2024年最新[springboot]嵌入式tomcat容器的运行参数配置(含视频),2024年物联网嵌入式开发社招面试题

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事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年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

tps://bbs.csdn.net/topics/618679757)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 28
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值