2016-11-01 5 views
0

異なる地域(イギリスとオーストラリア)の複数データセンターに展開されているJ2EEアプリケーション(wildflyでデプロイされている)があります。英国で展開されているアプリケーションは、HttpClientを使用してHTTPS REST APIをオーストラリアに展開されたアプリケーションに呼び出すようにしています。
通常正常に動作します。しかし、英国とオーストラリアの接続が遅い場合、英国のアプリケーションのCPUは100%に達します。 私たちはスレッドダンプを取っており、(HTTPS REST CALLを行っている)多くのスレッドがRUNNABLEステータスであることを示しています。それは何の理由がありますか?どのようにして問題を解決できますか?HTTP/HTTPSコールでCPU使用率が高い

答えて

0

は一例でそれを説明する:

レッツは、英国のアプリケーションは、秒あたりの1000回のコールを受けると言います。

イギリスとオーストラリアとの接続が正常な場合。 1000コールを処理するのに1秒かかることがあります。

イギリスとオーストラリアの接続が遅い場合。 1000コールを処理するのに3秒かかることがあります。この3秒の間に(イギリスのアプリケーションは1000コール/秒を受信する)、私は英国のアプリケーションで保留中の合計3000コールを持っています。

これにより、CPUは100%になります