javascript
springboot 压测 50并发 线程等待_Spring Boot中三款内嵌容器的使用
做Spring Boot的盆友應該都知道,Spring Boot支持三種內嵌容器,有了這幾個容器,我們就不需要打成War包再去部署,而是直接執行java -jar jar包即可啟動,真是太方便了。
Tomcat
在我們使用Spring Boot開發WebApi時,會引入spring-boot-starter-web這個starter組件,其自帶了Tomcat容器,
所以我們平時新建項目啟動起來,會看見Tomcat相關的一些信息。
tomcat常用參數:
- server.tomcat.uri-encoding:Tomcat 請求編碼
- server.tomcat.threads.max:Tomcat 的最大線程數
- server.tomcat.basedir:Tomcat 運行日志和臨時文件的目錄。若不配置,則默認使用系統的臨時目錄。
- server.tomcat.max-connections: 最大連接數
- server.tomcat.accept-count: 超過該請求數則排隊
- server.tomcat.threads.min-spare: 最小工作空閑線程數
- server.tomcat.max-http-form-post-size: Post數據大小
當然,還有很多其他的參數,有需要的可以了解一下
Jetty
因為spring-boot-starter-web自帶了Tomcat,所以我們要使用其它的容器的話,需要將其依賴包排除掉并重新引入新容器的starter
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-jetty 2.3.3.RELEASE我們還需要去掉原有的Tomcat配置,然后啟動
常用參數:
- server.jetty.threads.max: 最大線程數
- server.jetty.threads.min: 最小線程數
- server.jetty.threads.max-queue-capacity: 最大隊列容量
- server.jetty.threads.idle-timeout: 線程最大空閑時間
Undertow
使用Undertow的方式跟Jetty的使用方式一樣,需要先排除掉默認依賴,再引入Undertow Starter
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-undertow 2.3.3.RELEASE去掉其他容器的配置,啟動我們的程序,就可以看到Undertow的相關信息
常用參數:
- server.undertow.url-charset: 請求編碼
- server.undertow.threads.io: IO線程
- server.undertow.threads.worker: 工作線程
聽網友說這三個的性能是這樣排名的:Undertow>Jetty>Tomcat,但是我沒親自去壓測過,所以不確定其真假。這三個,只有Tomcat用的最多,Undertow也用過幾次,但是項目沒什么并發可言,在性能上,也沒有去實際對比過,后面有機會涉及到性能優化的時候再來深究吧。
各位盆友,你們是用的哪個容器呢?
總結
以上是生活随笔為你收集整理的springboot 压测 50并发 线程等待_Spring Boot中三款内嵌容器的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基类指针调用派生类函数_C++ 多态性:
- 下一篇: sql嵌套查询返回多个字段_list4