SpringとWildflyを使用して、休憩サービスは一度に1つのリクエストしか処理できないことに気付きました。私は、いくつかの異なる構成を試して、同じクライアントマシンから非同期に複数の要求を実行できるようにしようとしました。私はWildfly ioサブシステムの構成を見逃していたと仮定していますが、Googleの検索では実りあるものではありません。Red HatでWebリクエストをブロックするWildfly 10.1
最初は、Chrome、IE、Firefoxを使用していたので、ブラウザの問題だと思っていました。私はマルチスレッドのJavaクライアントを作成して複数のリクエストを送信し、それでも問題は発生しました。私は複数のリクエストを送信するためにマルチスレッドのPerlスクリプトを作成しました。同じ問題です...残りのサービスは一度に1つのリクエストのみを処理し、残りはキューに入れられます。
私のテストから、ソフトウェアが適切に要求を送信しているように見えます。私はWireSharkを使って、ソフトウェアを離れてサーバーにヒットしようとするすべての要求を見てきました。
ロードバランサやApacheなどの要素を除外して、Wildflyでなければならないという点を強調しました。私のローカルテストでは、私はWildflyを直接指し、同じ動作を見ます。
RestやXML処理のためのフレームワークを追加することなく、X個のリクエストにわたって同じサービスを同時に呼びたいと思います。参考のため
、ネットワークアーキテクチャの全体が クライアントである - >(SSL)BigIPのLB - >(SSL)アパッチ - >(AJP/SSL)Wildfly
私が増加するWildfly IOサブシステムを更新しました
{
"outcome" => "success",
"result" => {
"buffer-pool" => {"default" => {
"buffer-size" => undefined,
"buffers-per-slice" => undefined,
"direct-buffers" => undefined
}},
"worker" => {"default" => {
"io-threads" => 50,
"stack-size" => 0L,
"task-keepalive" => 60,
"task-max-threads" => 300
}}
}
}
は誰もが、おそらく春の問題問題がWildfly設定の問題である、またはこれはJavaサーブレットの問題である場合にはお勧めできます:ワーカースレッドの数とは、タスク-MAX-スレッドを増加しましたか?
ありがとうございます。
RESTを非同期に行う必要がありますか? https://spring.io/guides/gs/async-method/ –
すぐに応答が必要なので、同期が必要です。私は一度に複数のデータのアップロードを実行し、1つのシナリオで応答を処理しようとしています。プレゼンテーションのために複数のデータセットを同時に取得しようとする別のシナリオ – javafreak
単純なSpring/Widlfy/Spring MVCは、私のために。 –