2016-08-17 8 views
7

私はSpring Bootを使用してマイクロサービスを開発しました。私は、バックエンドコールをスタブして、サービスをパフォーマンステストしていました。スレッド数を見ると、呼び出し回数が非常に多いにもかかわらず、サービスに作成されたスレッドの最大数がどの時点でも20であることがわかります。 Spring Bootを使用して開発されたマイクロサービスに対して行うことができる呼び出しの数には制限がありますか?サービスで受け入れられる接続数をトラブルシューティングしたり増やしたりするために、どの手順を踏む必要がありますか教えてください。Spring Boot - 作成された接続数の制限

+2

桟橋、村落、nginx、アンダー... ...? – alexbt

答えて

11

この設定は、埋め込みコンテナ(tomcat、jetty ...)から派生したものです。スレッド

Tomcatの数は、あなたは、あなたがしかし、このother stackoverflow question/answerによると、20個のスレッドを数え言うあなたのapplication.propertiesにスレッドのデフォルト数を

server.tomcat.max-threads=400 

を、このプロパティを指定することもできるはずserver.tomcat.max-threadsのデフォルト値は0であるため、tomcatを使用すると200になります。tomcat's documentation

このコネクタによって作成される要求処理スレッドの最大数。したがって、処理可能な同時要求の最大数が決まります。指定されていない場合、この属性は200に設定されます。エグゼキューターがこのコネクターに関連付けられている場合、コネクターは内部スレッドプールではなくエグゼキューターを使用してタスクを実行するため、この属性は無視されます。また

、のプロパティ:

  • 引きserver.undertow.worker-threads

  • 桟橋:あなたはpropertiのリストを見つけることができますserver.jetty.acceptors

どのコンテナを使用していますか?Spring's documentation

+0

ありがとう、アレックス。私はtomcatを使用しています。私は試してみよう –

+0

こんにちはアレックス、私のアプリのデフォルト値を印刷する方法はありますか? –

+0

私が知っているわけではありません。つまり、server.tomcat.max-threadsのデフォルト値は0なので、tomcatの値になります。私がやろうとしていたこと本当に大きな価値(server.tomcat.max-threads = 1000)で試してみて、違いがあるかどうかを確認することです。 – alexbt

関連する問題