Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 弹簧休息-在较长的空闲时间后,第一次呼叫需要很长时间(5-10秒)_Java_Spring_Timeout_Delay - Fatal编程技术网

Java 弹簧休息-在较长的空闲时间后,第一次呼叫需要很长时间(5-10秒)

Java 弹簧休息-在较长的空闲时间后,第一次呼叫需要很长时间(5-10秒),java,spring,timeout,delay,Java,Spring,Timeout,Delay,我们正在SpringBoot(带有嵌入式tomcat)和SpringCloud上运行微服务。它意味着服务发现、定期运行状况检查和响应这些运行状况检查的服务。。。我们还有SpringBoot管理服务器用于监控,我们可以看到所有服务都正常运行。当前仅在测试环境上运行 我们的一些微服务很少被调用(假设每两天调用一次),但是仍然有定期的健康检查。当这些服务的RESTAPI在这么长的空闲时间后被调用时,第一个请求需要很长的时间来处理。它当然会导致请求链中断路器的断开和错误。。。我在使用SpringBoot

我们正在SpringBoot(带有嵌入式tomcat)和SpringCloud上运行微服务。它意味着服务发现、定期运行状况检查和响应这些运行状况检查的服务。。。我们还有SpringBoot管理服务器用于监控,我们可以看到所有服务都正常运行。当前仅在测试环境上运行

我们的一些微服务很少被调用(假设每两天调用一次),但是仍然有定期的健康检查。当这些服务的RESTAPI在这么长的空闲时间后被调用时,第一个请求需要很长的时间来处理。它当然会导致请求链中断路器的断开和错误。。。我在使用SpringBootAdmin调用不同的端点时也看到了这种行为(Theads列表,Metrics)

作为总结,我在spring boot Admin metrics、threads info、environment info的调用中看到了这种行为,或者在使用Hikari数据源调用数据库的调用中,或者在aservice试图通过smtp服务器发送电子邮件的调用中看到了这种行为

我的问题是: 这和嵌入式服务器及其线程池的设置有关吗? 或者我应该深入研究这些请求涉及的其他线程池和连接池吗? 对诊断有什么想法吗


非常感谢

问题是没有足够的RAM来覆盖这些应用程序的整个堆。。。应用于多个虚拟机的设置错误。堆的一部分实际上是交换的。当堆和RAM大小固定时,问题就消失了。

我在一个私人项目中遇到过类似的问题。。。看起来,spring会懒散地初始化REST组件,这解释了当您第一次调用Resource时等待时间更长的原因是,您是对的,有一些懒散的初始化,但这不是我的意思。这是关于在服务器启动后已经执行了几次的调用,然后在长时间空闲后再次调用(并且花费了很长时间)