1.配置優(yōu)化
conf/web.xml優(yōu)化
- 移除視圖層組件JspServlet
不使用jsp情況下可以移除

- 移除welcome-file-list
不使用歡迎頁面情況下移除

- 移除mime-mapping配置(mime-mapping作用就是告訴給瀏覽器處理的格式)
根據(jù)項目實際情況移除,微服務(wù)保留json格式即可 - 移除session會話
集群情況下都用token代替session

conf/server.xml優(yōu)化
- 移除conf/server.xml AccessLogValve

- 移除Connector的監(jiān)聽 8009 AJP(AJP用于tomcat內(nèi)部之間通訊)

-
并發(fā)優(yōu)化
相關(guān)參數(shù)配置:
name: 線程池名稱.
namePrefix: 創(chuàng)建的每個線程的名稱前綴, 單獨的線程名稱為 namePrefix + threadNumber.
maxThreads: 線程池中最大并發(fā)線程數(shù), 默認值為200, 一般建議設(shè)置400~ 800 , 要根據(jù)服務(wù)器配置和業(yè)務(wù)需求而定
minSpareThreads: 最小活躍線程數(shù), 也就是核心線程數(shù), 不會被銷毀, 會一直存在
prestartminSpareThreads: 是否在啟動程序時就生成minSpareThreads個線程, 默認為false, 即不啟動. 若不設(shè)置為true, 則minSpareThreads的設(shè)置就不起作用了
maxIdleTime: 線程最大空閑時間, 超過該時間后, 空閑線程會被銷毀, 默認值為6000, 單位為毫秒
maxQueueSize: 最大的等待隊列數(shù), 超過則拒絕請求. 默認值為int類型的最大值(Integer.MAX_VALUE), 等同于無限大. 一般不作修改, 避免發(fā)生部分請求未能被處理的情況
threadPriority: 線程池中線程的優(yōu)先級, 默認值為5, 取值范圍: 1 ~ 10
圖片.png -
配置io模型
1.BIO:protocol =" org.apache.coyote.http11.Http11Protocol"
阻塞式IO,采用傳統(tǒng)的java IO進行操作,該模式下每個請求都會創(chuàng)建一個線程,
適用于并發(fā)量小的場景
2.NIO:protocol ="org.apache.coyote.http11.Http11NioProtocol"
同步非阻塞,比傳統(tǒng)BIO能更好的支持大并發(fā),tomcat 8.0 后默認采用該模式
3.APR:protocol ="org.apache.coyote.http11.Http11AprProtocol"
tomcat 以JNI形式調(diào)用http服務(wù)器的核心動態(tài)鏈接庫來處理文件讀取或網(wǎng)絡(luò)傳輸操作,需要編譯安裝APR庫
4.AIO:protocol ="org.apache.coyote.http11.Http11Nio2Protocol"
異步非阻塞,tomcat8.0后支持
圖片.png

