Java 使用运行状况检查或ping改进RESTAPI性能

Java 使用运行状况检查或ping改进RESTAPI性能,java,performance,rest,tomcat,Java,Performance,Rest,Tomcat,我们注意到,我们的API性能随着我们对一个下游应用程序的健康检查频率的增加而提高。API性能提高的原因是http连接在运行状况检查中被重新使用。下游的keepalive超时为55秒,保持30秒的healthcheck频率将确保所有API请求都将获得一个可重用的实时连接。虽然这一方法可行,但看起来并不是一个战略解决方案。我们的下游已经转移到AWS,其中keepalive超时为2s。有没有比ping/healthcheck更好的解决方案来确保我们的API始终获得实时连接。性能显著提高,每次请求约40

我们注意到,我们的API性能随着我们对一个下游应用程序的健康检查频率的增加而提高。API性能提高的原因是http连接在运行状况检查中被重新使用。下游的keepalive超时为55秒,保持30秒的healthcheck频率将确保所有API请求都将获得一个可重用的实时连接。虽然这一方法可行,但看起来并不是一个战略解决方案。我们的下游已经转移到AWS,其中keepalive超时为2s。有没有比ping/healthcheck更好的解决方案来确保我们的API始终获得实时连接。性能显著提高,每次请求约400毫秒。

没问题

可能的解决办法是:

  • 为下游提供更好的连接(专用线路),以降低建立连接的成本
  • 增加生命。这可能不安全,因为您可能仅仅通过分配大量连接就遭到DDoS攻击
  • 根据上游用户的请求频率进行ping/健康检查。它比增加keep alive更安全,而且您的上游请求率似乎很低(大约每分钟1个请求或更低),因此它将是最便宜、最安全的选择
一般来说,你的ping/健康检查是一种保持活力的事情