2016-08-17 216 views
7

我開發了一個使用Spring Boot的微服務。我是通過對後端調用進行存根來測試服務的性能。當我查看線程數時,我發現在任何時間點,爲該服務創建的線程的最大數量爲20,即使調用的數量要高得多。對使用Spring Boot開發的微服務的調用次數有任何限制。請你能指導我需要採取哪些步驟來解決/增加服務接受的連接數量?Spring Boot - 限制創建的連接數

+2

您正在使用哪個容器?碼頭,tomcat,nginx,呃...? – alexbt

回答

11

此設置是從嵌入式容器(tomcat,jetty ...)派生而來的。

Tomcat的線程數

你可以在你application.properties指定此屬性

server.tomcat.max-threads=400 

你說你算20個線程,但是根據本other stackoverflow question/answer,線程的默認數量應因爲server.tomcat.max-threads的默認值爲0.請參閱tomcat's documentation

由此連接器創建的請求處理線程的最大數量,因此確定可以處理的最大併發請求數。如果未指定,則將此屬性設置爲200.如果執行程序與此連接程序關聯,則該屬性將被忽略,因爲連接程序將使用執行程序而不是內部線程池執行任務。

此外,屬性:

  • 暗流server.undertow.worker-threads

  • 碼頭server.jetty.acceptors

你會發現properti名單es in Spring's documentation

+0

非常感謝Alex。我正在使用tomcat。我會嘗試並更新 –

+0

嗨亞歷克斯,有沒有辦法在我的應用程序中打印默認值? –

+0

不是我所知道的。我的意思是,server.tomcat.max-threads的默認值肯定是0,所以它歸結爲tomcat的值。我會做什麼如果我是你,就是嘗試一個非常大的值(server.tomcat.max-threads = 1000),看看它是否有所作爲。 – alexbt