Spring Boot 启动后首次请求比较慢

Spring Boot Tomcat 大约 538 字

现象

Spring Boot内置Tomcat容器启动后的第一次请求特别慢,第二次之后就正常了。

日志

INFO [nio-8080-exec-1] o.a.c.c.C.[.[.[/]         : Initializing Spring DispatcherServlet 'dispatcherServlet'
INFO [nio-8080-exec-1] o.s.w.s.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
INFO [nio-8080-exec-1] o.s.w.s.DispatcherServlet : Completed initialization in 180 ms

原因

Tomcat的请求解析分发器DispatcherServlet的初始化工作花了180ms,比较耗时。

解决方法

默认DispatcherServlet的加载时机是懒加载,即第一次请求时才调用initStrategies方法完成映射等初始化工作。

可以设置在启动阶段就加载,增加如下配置:

spring:
  mvc:
    servlet:
      load-on-startup: 1
阅读 85 · 发布于 2022-01-02

————        END        ————

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批