Spring Boot 學習系列(11)—tomcat引數配置建
此文已由作者易國強授權網易雲社群釋出。
歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。
在SpringBoot專案中,使用的是內嵌的Tomcat容器,相關的配置項如下表:
-
除去和預設值相同的配置,在專案中建議新增的配置如下:
server.tomcat.minSpareThreads=50server.tomcat.maxThreads=1024server.tomcat.maxHttpPostSize=20971520server.tomcat.remoteIpHeader=X-Forwarded-For server.tomcat.basedir=. server.tomcat.accesslog.enabled=true server.tomcat.accesslog.pattern=%{X-Real-IP}i %l %u %t "%r" %s %b %D %T %{Referer}i "%{User-Agent}i" %I %v %aserver.tomcat.accesslog.prefix=access.logserver.tomcat.accesslog.suffix= server.tomcat.accesslog.renameOnRotate=true
字首為server的配置項,對應的配置類為org.springframework.boot.autoconfigure.web.ServerProperties,ServerProperties類中有一個內部類Tomcat,對應字首為server.tomcat的配置項。
專案啟動時,這些配置會被set到org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory類中(引入spring-boot-starter-web依賴,會自動引入spring-boot-starter-tomcat,就是說tomcat是系統預設的容器,所以會自動初始化),之後TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer()建立並啟動Tomcat容器例項。
Tomcat內部使用的是java.util.concurrent.ThreadPoolExecutor執行緒池,容器啟動時會在org.apache.tomcat.util.net.AbstractEndpoint.createExecutor()這裡建立執行緒池,所以其中最大最小執行緒數、執行緒建立、銷燬和分配的策略其實都是ThreadPoolExecutor的特性。
不足之處,歡迎指正,謝謝~
更多網易技術、產品、運營經驗分享請點選。
相關文章:
【推薦】 Kylin效能調優記——業務技術兩手抓
【推薦】 聊一聊資料分析師這個職業
相關文章
- spring boot 配置外接tomcatSpring BootTomcat
- Spring boot學習(二) Spring boot基礎配置Spring Boot
- Spring Boot學習筆記:Spring Boot核心配置Spring Boot筆記
- Spring boot學習(八)Spring boot配置ehcache快取框架Spring Boot快取框架
- Spring boot學習(九)Spring boot配置郵件傳送Spring Boot
- Spring Boot 引數校驗Spring Boot
- Spring Boot 引數轉換Spring Boot
- spring boot學習4 多環境配置Spring Boot
- 從零開始學Spring Boot系列-外部化配置Spring Boot
- Spring Boot 學習筆記(5):日誌配置Spring Boot筆記
- Spring Boot 學習筆記(4):配置properties(1)Spring Boot筆記
- Spring Boot 學習筆記(4):配置properties(2)Spring Boot筆記
- 利用 Spring Boot 中的 @ConfigurationProperties,優雅繫結配置引數Spring Boot
- spring boot學習Spring Boot
- Spring Boot 學習Spring Boot
- Spring boot學習(三) Spring boot整合mybatisSpring BootMyBatis
- Spring boot學習(四)Spring boot整合DruidSpring BootUI
- Spring Boot學習(一)——Spring Boot介紹Spring Boot
- 個人學習系列 - Spring Boot 整合 UReport2Spring Boot
- postman 請求引數和 Spring Boot Controller 接受引數PostmanSpring BootController
- 學習記錄Spring Boot 記錄配置細節Spring Boot
- 學習Tomcat(七)之Spring內嵌TomcatTomcatSpring
- spring boot 讀寫引數到sessionSpring BootSession
- Spring Boot:Spring Boot配置MybatisSpring BootMyBatis
- Spring Boot:Spring Boot配置SwaggerSpring BootSwagger
- Spring boot學習(一)開啟Spring boot之旅Spring Boot
- spring boot學習(7)— 配置資訊的獲取方式Spring Boot
- Spring Boot 學習目錄Spring Boot
- Spring Boot 學習-基礎Spring Boot
- Spring Boot & 配置Spring Boot
- Spring Boot系列十九 Spring boot整合 swaggerSpring BootSwagger
- Spring Boot實戰系列(7)整合Consul配置中心Spring Boot
- Spring boot學習(五)Spring boot整合Mybatis Generator以及PageHelperSpring BootMyBatis
- Spring Boot學習之---Spring Boot與檢索 下(十六)Spring Boot
- Spring Boot 內嵌容器 Tomcat / UndertowSpring BootTomcat
- #Tomcat學習(3)#Tomcat多例項配置和反向代理叢集配置Tomcat
- Spring Boot系列(一):Spring Boot快速開始Spring Boot
- Spring Boot系列(四):Spring Boot原始碼解析Spring Boot原始碼