我们有J2EE应用程序(部署在wildfly中),它部署在不同地区(英国和澳大利亚)的多数据中心。部署在英国的应用程序正在对在澳大利亚部署的应用程序进行HTTPS REST API调用(使用HttpClient) 通常它工作正常。但是当英国和澳大利亚之间的连接速度很慢时,英国应用程序的CPU达到100%。 我们已经进行了线程转储,它显示许多线程(正在进行HTTPS REST CALL)处于RUNNABLE状态。有什么理由呢?如何解决问题?
答案 0 :(得分:0)
通过例子解释:
假设英国应用程序每秒接收1000个电话。
英国和澳大利亚之间的联系是正常的。处理1000个电话可能需要1秒。
英国与澳大利亚之间的联系缓慢。处理1000个呼叫可能需要3秒。在这3秒之间(英国应用程序每秒接收1000个呼叫),因此我将在英国应用程序中共有3000个呼叫待处理。
这使CPU变为100%